MySQL LIMIT范围0,500和1,500有什么区别?

时间:2013-01-26 10:25:16

标签: mysql sql select

如果我想在MySQL第1行到第500行,我应该使用LIMIT 0,500或LIMIT,1,500吗?有什么不同?谢谢!

4 个答案:

答案 0 :(得分:17)

第一个从整个结果的第一个记录开始,而第二个记录从结果的第二个记录开始。

考虑以下记录

ID
1 -- index of the first record is zero.
2
3
4
5
6

如果你执行

LIMIT 0, 3
-- the result will be ID: 1,2,3

LIMIT 1, 3
-- the result will be ID: 2,3,4

OTHER(S)

答案 1 :(得分:2)

在MySQL中,LIMIT n1,n2的含义是:

n1 : starting index
n2 : number of record/data you want to show

例如:

ID
-------------------------
1  ------------ > index 0
2
3
4
5
6
7
8
9
10 ------------ > index 9

现在,如果您编写像

这样的查询
SELECT * from tbl_name LIMIT 0,5
Output : 
1
2
3
4
5

如果您编写像

这样的查询
SELECT * from tbl_name LIMIT 2,7
Output : 
3
4
5
6
7
8
9

答案 2 :(得分:0)

@JohnWoo那不正确。没有指定SELECT语句中没有ORDER BY子句的行的顺序。因此,即使通过目视查看这种查询的输出顺序,它看起来似乎是特定的顺序,但是不保证该顺序,因此不可靠。如果您需要以某种方式订购结果集,则必须使用ORDER BY子句。

答案 3 :(得分:0)

ID

1
2 3 4 5 ------------>索引0 6 7 8 9 ------------> 5索引后加4值 10

如果您希望数据从5到9,那么查询应该是

SELECT * from table_name LIMIT 5,4

相关问题