假设有这么一张表名叫ids,只有id一列:
id
---
1
2
3
4
5
...
...
197
198
199
200
执行:
SELECT * FROM ids LIMIT 10, 1
输出:
id
---
11
执行:
SELECT * FROM ids LIMIT 10, 3
输出:
id
---
11
12
13
执行:
SELECT * FROM ids LIMIT 45, 1
输出:
id
---
46
从以上示例可以看出,LIMIT后的第一个参数是输出记录的初始位置,第二个参数偏移量,偏移多少,输出的条目就是多少。
再看与LIMIT搭配的还有一个OFFSET命令:
可以看出OFFSET与逗号隔开基本是一样的,唯一的差别就是两个参数的位置前后颠倒了一下。
执行:
SELECT * FROM ids LIMIT 10 OFFSET 2
输出:
id
---
3
4
5
6
7
8
9
10
11
12
执行:
SELECT * FROM ids LIMIT 5 OFFSET 10
输出:
id
---
11
12
13
14
15
于是可以考虑这个一个问题:假如某省高考成绩出来了,按照成绩排名,并取出地m名到第n名的学生信息,这时候LIMIT不就可以用上了嘛: