กฎทั่วไป
LIMIT n OFFSET m → คืน n แถว เริ่มจากแถวที่ m+1
- OFFSET 0 = เริ่มแถวแรก
- OFFSET 6 = ข้าม 6 แถวแรก เริ่มแถวที่ 7
ตัวอย่าง
สร้างตาราง 13 แถว (Id 1-13)
mysql> create table LimitOffsettable (Id int); mysql> insert into LimitOffsettable values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13);
LIMIT 4 OFFSET 6
mysql> select * from LimitOffsettable LIMIT 4 OFFSET 6;
+------+ | Id | +------+ | 7 | | 8 | | 9 | | 10 | +------+ 4 rows in set (0.00 sec)
สรุป
| LIMIT | OFFSET | แถวที่ได้ |
|---|---|---|
| 4 | 0 | 1,2,3,4 |
| 4 | 6 | 7,8,9,10 |
| 4 | 10 | 11,12,13 (เหลือ 3 แถว) |
ใช้สำหรับ Pagination: หน้าที่ k (เริ่ม 1) = LIMIT pageSize OFFSET (k-1)*pageSize