Mysql row_number veya rownum Tarzı Satır Numarası Sıralama

06.09.2017
• Nedir • Nasil-Yapilir

Mysql Satır Numarası

Mysql dışında bir çok veritabanı programında row_number tarzı bir fonksiyon ile satır numarasını , seçilen sonuç tablosunda fetch edebilmek için özel fonksiyonlar geliştirilmiştir.
Örneğin oracle veritabanında ruwnum kullanılırken buna karşılık MSSql' de ROW_NUMBER () ifadesi kullanılır.

Ancak maalesef Mysql ' de böyle bir özellik yoktur.

MySQL'de sıralama işlevi bulunmadığından bunu bir değişken kullanarak yapmak mümkündür.
Bu özellik gelene kadar bu satır sayısını göstermeyi şu şekilde yapabiliriz.

Bunun için iki yöntemden bahsedeceğiz.

Mysql Satır Sayısını Tabloda Gösterme 1.Yöntem


Nispeten zor olan yöntem. Çünkü ana sql sorgumuz karışık olduğu takdirde bu ek ilaveler daha da karmaşık gösterme ihtimali bulunmaktadır.
Ben ikinci yöntemi tercih etmekteyim ancak tercih sizin.
 SELECT @i:=@i+1 as rownum, a.*
FROM ana_tablo_adi as a , (SELECT @i:=0) as b



Nispeten kullanımı daha kolay olan ikinici yöntem.

Mysql Satır Sayısını Tabloda Gösterme 2.Yöntem

Bu yöntemde ana sql i çalıştırmadan önce ana sql dışında set ile @i adında bir değişken atayacağız sonra aynı yukarıdaki gibi +1 diyerek her satırında bu değeri artırmasını sağlayacağız.
 -- Önce değişken atadık sonra
set @i=0;
select (@i := @i +1) as satir_sayisi , diğer_kolonlar from ana_tabloadi;