7

如果我想在 MySQL 行 1 到 500 中,我应该使用 LIMIT 0、500 还是 LIMIT、1、500?有什么不同?谢谢!

4

4 回答 4

19

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

考虑以下记录

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

其他)

于 2013-01-26T10:26:41.270 回答
4

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

n1 : 起始索引
n2 :您要显示的记录/数据的数量

例如 :

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

现在,如果您编写查询,例如

选择 * 从 tbl_name 限制 0,5
输出 :
1
2
3
4
5

如果你写这样的查询

选择 * 从 tbl_name 限制 2,7
输出 :
3
4
5
6
7
8
9
于 2016-10-20T02:29:03.427 回答
0

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

于 2015-03-17T04:08:51.920 回答
0

ID

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

如果你想要从 5 到 9 的数据,那么查询应该是

SELECT * from table_name LIMIT 5,4

于 2018-07-31T09:48:17.890 回答