logo

MySQL Sınırı

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:

MySQL Sını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

MySQL Sınırı

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:

MySQL Sınırı

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ü
MySQL Sınırı

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:

MySQL Sınırı

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:

MySQL Sınırı

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.