MySQL’de select kullanımı esnasında ihtiyaç duyabileceğiniz ek parametreler’den bir tanesi de order by komutudur. Bu ve benzere bir çok komutun ne işe yaradığını ve nasıl kullanacağınızı bu makalemizde ele alacağız.
MySQL’den veri çekerken listeleme esnasında, veriyi neye göre listeleyeceğinizi belirlemenize olanak sağlayan ORDER BY komutu, genel olarak SELECT komutu ile birlikte kullanılır. Yani veri çekme işlemlerinde kullanmanız gerekir. Önce veritabanından örnek bir veri çekme sorgusu yapalım.
SELECT * FROM kullanicilar
Veri tabanından kullanicilar tablosundaki tüm verileri ekrana çekmiş olduk. Peki bu verileri neye göre ve nasıl listeleteceğiz?
Verileri ID numarasına göre baştan sona yada sondan başa olacak şekilde listeleyebiliriz. Bu durumda 2 komut kullanacağız.
- ORDER BY
- DESC yada ASC
Öncelikle verileri şu şekilde ID numarasına göre listeliyoruz.
SELECT * FROM kullanicilar ORDER BY id
id sütunundaki değerlere göre listeledik. Bu şekilde kullanımda default olarak listelemeyi baştan sona yapacaktır.
MySQL Son Eklenen Kayıtları Çekmek
Eğer listelemeyi en son eklenen kayıtlardan başlayacak şekilde çekmek istiyorsak o zaman şu sorguyu yapmalıyız.
SELECT * FROM kullanicilar ORDER BY id DESC
Böylelikle kullanicilar tablosundaki tüm verileri id numarasına göre son eklenenden başa doğru sıralayarak listelemiş olduk.
Burada ASC komutu değinmedim çünkü eğer DESC kullanmazsanız default’ta her zaman değer ASC’dir. ASC ise baştan son çekmeniz anlamına gelir.
MySQL LIMIT Kullanımı
MySQL’de limit parametresi sayesinde, ekrana kaç kayıt çekmek istediğinizi belirleyebilirsiniz. Örneğin, son eklenen 10 kayıtı ekrana şu şekilde çekebilirsiniz.
SELECT * FROM kullanicilar ORDER BY id DESC LIMIT 0,10
Bu komutumuz sayesinde ekrana son eklenen 10 kayıt çekilmiş oldu. MySQL’de limit komutunu bu şekilde kullanabilirsiniz. Projeniz için sayfalama yapmak istemeniz durumunda da Limit komutunu kullanacağınızı bir yere not alın.
Kendi projelerimde bu kod bloğunu kullanırım ve sorgu bazı projeler için olmazsa olmazı.Yazı için teşekkür ederim.