'LIMIT 0, 1' ve 'LIMIT 1' arasında herhangi bir fark var mı?


15

Son zamanlarda bu gösterimlerle farklılık gösteren örnek kodlara rastladım.

SELECT * FROM table LIMIT 0, 1
SELECT * FROM table LIMIT 1

Eğer yanlış değilsem ilk argüman ofset olarak düşünülmelidir, bu iki sorgunun amacı seçimi ilk satırına kadar sınırlamaktır. table

Ofseti terk ederken olumsuz bir etkisi var mı / ilk etapta dışarıda bırakmak nasıl mümkün? Yoksa soruları yanlış mı anladım?


3
Hayır, doğru anladınız, eşdeğerler. Bu aynı zamanda geçerli: LIMIT 1 OFFSET 0. Ancak , özel bir neden olmadığı sürece, ORDER BYherhangi bir sorguya gerçekten eklemeniz gerekir LIMIT.
ypercubeᵀᴹ

Yanıtlar:


13

Gibi belgeler diyor ki:

LIMIT Fıkra tarafından döndürülen satır sayısını sınırlamak için kullanılabilir  SELECT açıklamada. LIMIT her ikisinin de negatif olmayan tamsayı sabitleri olması gereken bir veya iki sayısal bağımsız değişken alır (hazırlanmış ifadelerin kullanılması hariç).

İki argümanla, ilk argüman döndürülecek ilk satırın ofsetini ve ikincisi döndürülecek maksimum satır sayısını belirtir. The offset of the initial row is 0 (not 1).

LIMITFıkra kullanılan SELECTbir sonuç kümesindeki satır sayısını sınırlamak için deyimi. LIMITMaddesi, bir ya da iki bağımsız değişkeni kabul eder. Her iki bağımsız değişkenin değerleri sıfır veya pozitif tamsayı sabitleri olmalıdır.

Aşağıda LIMIT2 bağımsız değişkeni olan yan tümce sözdizimi gösterilmektedir :

SELECT * FROM tbl
LIMIT offset, count;

LIMIT deyiminde ofset ve sayımın ne anlama geldiğini görelim:

  • offsetBelirtir dönüşü ilk sıranın ofset. İlk sıranın ofseti 0 değil, 0'dır.
  • countSatır belirtir maksimum sayısı dönmek için.

Kullandığınızda LIMITtek bağımsız değişkenle, bu argüman sonuç kümesinin başından dönmek için belirttiği maksimum satır sayısını kullanılacaktır.

SELECT * FROM tbl LIMIT count;

Yukarıdaki sorgu, LIMITiki bağımsız değişkeni kabul eden yan tümcedeki aşağıdaki sorguya eşdeğerdir :

SELECT * FROM tbl LIMIT 0, count;

LIMITFıkra sıklıkla birlikte kullanılan ORDER BYmaddede. İlk olarak, ORDER BYsonuç kümesini belirli bir ölçütlere göre sıralamak için yan tümcesi, ardından LIMITen düşük veya en yüksek değerleri bulmak için yan tümcesi kullanırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.