semua jawaban di sini tidak memiliki klausa ORDER BY. Tabel SQL tidak memiliki urutan default, dan tanpa ORDER BY eksplisit, tidak ada cara untuk mengetahui mana 10 hasil pertama yang dilewati
fthiella
Jawaban:
125
Gunakan LIMIT dengan dua parameter. Misalnya, untuk mengembalikan hasil 11-60 (di mana hasil 1 adalah baris pertama), gunakan:
SELECT*FROM foo LIMIT 10,50
Untuk solusi mengembalikan semua hasil, lihat jawaban Thomas .
Untuk mengambil semua baris dari offset tertentu hingga akhir set hasil, Anda dapat menggunakan sejumlah besar untuk parameter kedua. Pernyataan ini mengambil semua baris dari baris ke-96 hingga yang terakhir:
SELECT*FROM tbl LIMIT 95,18446744073709551615;
Jelas, Anda harus mengganti 95dengan 10. Angka besar yang mereka gunakan adalah 2 ^ 64 - 1.
Jawaban:
Gunakan LIMIT dengan dua parameter. Misalnya, untuk mengembalikan hasil 11-60 (di mana hasil 1 adalah baris pertama), gunakan:
Untuk solusi mengembalikan semua hasil, lihat jawaban Thomas .
sumber
Ada OFFSET juga yang harus melakukan trik:
sumber
limit 10,10
OFFSET adalah apa yang Anda cari.
sumber
Dari manual :
Jelas, Anda harus mengganti
95
dengan10
. Angka besar yang mereka gunakan adalah 2 ^ 64 - 1.sumber
LIMIT memungkinkan Anda melewati sejumlah baris. Ini memiliki dua parameter, dan yang pertama - berapa banyak baris yang harus dilewati
sumber
di mana
id
menjadi kunci di meja Anda.sumber
Jika tabel Anda telah diurutkan berdasarkan id, Anda dapat dengan mudah melakukannya dengan:
sumber