MySQL Limit sorgusu şu amaçlarla kullanılır: kısıtlamak sonuç kümesinden döndürülen satır sayısı yerine getiriliyor MySQL veritabanındaki tüm set. Limit deyimi, yalnızca belirtilen sayıda satırı döndürmek için SELECT deyimiyle birlikte çalışır. Bu sorgu yalnızca bir veya iki bağımsız değişkeni kabul eder ve bunların değerleri sıfır veya herhangi bir pozitif tam sayı olmalıdır.
Tablonun binlerce satır içerdiği veya yalnızca son eklenen verileri döndürmek istediğiniz durumlarda bu çok önemlidir. Başka bir deyişle, sorgudan döndürülen tüm satırları almak istemiyorsanız, SELECT deyimiyle birlikte MySQL Limit yan tümcesini kullanın. Sorgunun performansını artırır ve hatta tablo çok sayıda veri içerdiğinde sistemin çökmesini önler.
Tablodan yalnızca belirtilen satırları almak için MySQL şunu kullanır: SINIR yan tümcesi, oysa SQL şunu kullanır: TEPE yan tümcesi ve Oracle şunu kullanır: ROWNUM ile madde SEÇME ifade.
Sözdizimi
Aşağıda Limit sorgusunu kullanmanın sözdizimi verilmiştir. MySQL :
SELECT column_list FROM table_name LIMIT offset, count;
Yukarıdaki sözdiziminde şunları görebiliriz:
Sütun_listesi: Döndürmek istediğiniz sütunun adıdır.
Tablo ismi: Sütun adınızı içeren tablonun adıdır.
Telafi etmek: Geri dönmek istediğiniz satırın numarasını belirtir. Satırın ofseti 1'den değil 0'dan başlar.
Saymak: Döndürmek istediğiniz maksimum satır sayısını belirtir.
Aşağıdaki görsel temsil bunu daha açık bir şekilde açıklamaktadır:
NOT: Limit cümleciğiyle yalnızca bir argüman belirtirseniz MySQL, sonuç kümesinden çıktı döndürmek için maksimum satır sayısını belirlemek amacıyla bunu varsayar. Bu durumda Limit yan tümcesi bağımsız değişkenleri, ofset ve sayım eşdeğerdir.
ORDER BY Maddesi ile LIMIT Maddesi
Kullanıcının Limit yan tümcesini Order By yan tümcesiyle birlikte kullanması gerekir. Order By yan tümcesini kullanmadan, sonucu bir belirtilmemiş sıra . Bu durumda sorgunun hangi satırlardan sonuç döndürdüğünü bilmek zordur. Bu yüzden kullanmak iyi bir alışkanlıktır Gruplandırma Ölçütü cümleciği Satırları belirli bir sıraya koymak için Limit cümleciği ile.
Sonucu benzersiz bir sırayla elde etmek için aşağıdaki sözdizimi kullanılabilir:
SELECT column_list FROM table_name GROUP BY order_expression LIMIT offset, count;
MySQL Limit Örnekleri
Veritabanında aşağıdaki verileri içeren örnek bir tablo oluşturalım ve çeşitli örnekler kullanarak Limit cümlesinin MySQL'de nasıl çalıştığını anlayalım:
Tablo: çalışanlar
1. En yüksek veya en düşük satırları döndürmek için MySQL Limiti
İlk beş genç çalışanı almak için aşağıdaki ifade kullanıldı:
SELECT * FROM employees ORDER BY emp_age LIMIT 5;
Bu ifade önce Group By yan tümcesini kullanarak çalışanın yaşını sıralar ve ardından Sınır yan tümcesi ilk beş sonucu döndürür. Yukarıdaki adımları uyguladıktan sonra aşağıdaki çıktıyı alacağız:
2. Ofset kullanarak bir dizi satır elde etmek için MySQL Limiti
Bazen değer aralıkları arasında bir sonuç elde etmek istersiniz. Örneğin, uygulamalara ilişkin verileri görüntülemek, ardından bunları sayfalara bölmek için çok sayıda satırınız var ve her sayfada bir tabloda maksimum 10 satır yer alıyor. Bu durumda, bir satır aralığı elde etmek için aşağıdaki sorguyu kullanabilirsiniz:
SELECT emp_id, emp_name, income FROM employees ORDER BY income DESC LIMIT 3,7;
Bu ifade 3. satırdan başlayarak en fazla 7. satıra kadar olan satırları döndürür. Ayrıca çalışanın gelirini en yüksekten en düşüğe doğru sıralar. Sorguyu yürütün ve aşağıdaki çıktıyı alacaksınız:
mason formülü
3. WHERE Cümlesiyle MySQL Sınırı
MySQL Limiti WHERE cümleciğiyle de çalışılabilir. Öncelikle tabloda belirtilen koşulu kontrol eder ve koşulla eşleşen satırları üretir.
Bu sorgu, yaşı 30'un üzerinde olan ilk 5 çalışanı seçer. Burada ayrıca çalışanları gelirlerine göre azalan şekilde sıralamak için Order By deyimini de kullandık.
SELECT emp_name, emp_age, income FROM employees WHERE emp_age>30 ORDER BY income DESC LIMIT 5;
Yukarıdaki ifadenin başarıyla yürütülmesinden sonra aşağıdaki çıktıyı alacağız:
4. En yüksek veya en düşük değeri elde etmek için MySQL LIMIT
Bazen n'inci en yüksek veya en düşük değere sahip satırları elde etmek isteriz. Bu durumda beklenen sonucu elde etmek için aşağıdaki MySQL LIMIT yan tümcesini kullanabiliriz:
SELECT column_list FROM table_name ORDER BY expression LIMIT n-1, 1;
Bu sözdiziminde, LIMIT n-1, 1 yan tümcesi n satırından başlayan 1 satırı döndürür.
Örneğin, aşağıdaki sorgu ikinci en yüksek gelire sahip olan çalışanın bilgilerini döndürür:
SELECT emp_name, city, income FROM employees ORDER BY income LIMIT 1, 1;
Yukarıdaki ifadeyi çalıştırdığınızda aşağıdaki sorguyu verecektir:
Yukarıdaki sorgunun yalnızca tablonuzda bir miktar geliri olan iki çalışan bulunmadığında işe yaradığına dikkat edilmelidir. Bu durumda kullanacağız DENSE_RANK () Daha doğru bir sonuç elde etmek için.