Saya baru-baru ini menemukan kode contoh, yang berbeda dengan notasi ini.
SELECT * FROM table LIMIT 0, 1
SELECT * FROM table LIMIT 1
Argumen pertama harus dianggap sebagai offset jika saya tidak salah, tujuan dari dua pertanyaan tersebut adalah untuk membatasi pilihan hingga baris pertama dari table
Apakah ada efek negatif ketika meninggalkan offset / bagaimana mungkin meninggalkannya di tempat pertama? Atau apakah saya salah memahami pertanyaan?
LIMIT 1 OFFSET 0
. Tetapi Anda harus benar-benar memasukkanORDER BY
dalam permintaan apa pun yang memilikiLIMIT
, kecuali ada alasan khusus untuk tidak melakukannya.Jawaban:
Seperti yang dikatakan dalam dokumentasi :
The
LIMIT
klausul digunakan dalamSELECT
pernyataan untuk membatasi jumlah baris dalam satu set hasil. TheLIMIT
klausul menerima satu atau dua argumen. Nilai dari kedua argumen harus nol atau konstanta integer positif.Berikut ini mengilustrasikan
LIMIT
sintaks klausa dengan 2 argumen:Mari kita lihat apa arti offset dan penghitungan dalam klausa LIMIT:
offset
menentukan offset dari baris pertama untuk kembali. Offset baris pertama adalah 0, bukan 1.count
number menetapkan maksimum baris untuk kembali.Saat Anda menggunakan
LIMIT
dengan satu argumen, argumen ini akan digunakan untuk menentukan jumlah maksimum baris untuk kembali dari awal set hasil.SELECT * FROM tbl
LIMIT count;
Kueri di atas setara dengan kueri berikut dengan
LIMIT
klausa yang menerima dua argumen:SELECT * FROM tbl
LIMIT 0, count;
The
LIMIT
klausul sering digunakan denganORDER BY
klausa. Pertama, Anda menggunakanORDER BY
klausa untuk mengurutkan hasil yang ditetapkan berdasarkan kriteria tertentu, dan kemudian Anda menggunakanLIMIT
klausa untuk menemukan nilai terendah atau tertinggi.sumber