seratus pertama
SELECT * FROM <table_name> ORDER BY id ASC LIMIT 0, 100
seratus berikutnya
SELECT * FROM <table_name> ORDER BY id ASC LIMIT 100, 100
Anda sangat teliti dalam menempatkan pesanan di
PERNYATAAN BATAS DIJELASKAN: LIMIT
pernyataan BUKAN WHERE
ayat. Itu tidak dipilih dengan id
atau bahkan menurut kriteria apa pun, (ada where
klausa melakukan itu) Alih-alih limit
klausa hanya memastikan bahwa Anda mengembalikan sepotong block
dari hasil yang merupakan bagian dari "semuanya". Oleh karena itu mengapa penting untuk menyebutkan order by
setiap kali, sehingga setiap panggilan berikutnya akan memberi Anda bagian yang benar dari blok data secara berurutan, dan Anda dapat 'berikutnya', 'berikutnya', 'berikutnya' melalui mereka
EG:untuk tabel yang tidak teratur this_table
:
+-------+-------------+
| id | value |
+-------+-------------+
| 1 | bob |
| 12 | fish |
| 112 | pink |
| 2 | cat |
| 8 | dog |
| 56 | blue |
| 88 | grey |
| 87 | red |
+-------+-------------+
pilihan kembali seperti di bawah ini:
SELECT * FROM <this_table> ORDER BY id ASC LIMIT 0,5
+-------+-------------+
| id | value |
+-------+-------------+
| 1 | bob |
| 2 | cat |
| 8 | dog |
| 12 | fish |
| 56 | blue |
+-------+-------------+
dan
SELECT * FROM <this_table> ORDER BY id ASC LIMIT 5,5
+-------+-------------+
| id | value |
+-------+-------------+
| 87 | red |
| 88 | grey |
| 112 | pink |
+-------+-------------+
perhatikan kurangnya baris 9 dan 10 ini disengaja dan menunjukkan MySQL berfungsi sebagaimana dimaksud
kebetulan Anda juga harus melihat menambahkan indeks pada id
ini akan secara besar-besaran meningkatkan kecepatan pemilihan ini
ALTER TABLE <table_name> ADD INDEX `id` (`id`)