0

好吧,这对某人来说应该很容易——

我正在尝试选择数据库中的特定行

SELECT * FROM customers LIMIT 10,20

但它总是返回 20 行

发生了什么,为什么最小值没有任何价值?

4

4 回答 4

6
LIMIT X, Y

意味着你Y从 number 开始得到结果X+1

所以如果你想要从 11 到 20 的值,你需要使用:

LIMIT 10, 10
于 2013-03-28T23:42:28.420 回答
1

你想要做limit 10lmit 0, 1010 个结果

于 2013-03-28T23:44:11.480 回答
1

子句的第二个数字LIMIT是要返回的行数,而不是最后一个索引。如果您只想要 10 行,请在查询限制子句中替换20为。10

SELECT * 
FROM customers
LIMIT 10, 10
于 2013-03-28T23:44:28.557 回答
1

Limit有两个参数(x,y)意味着你从x+1 to y. 来自 MySQL 手册:

LIMIT 子句可用于限制 SELECT 语句返回的行数。LIMIT 接受一个或两个数字参数,它们都必须是非负整数常量(使用准备好的语句时除外)。

有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为 0(不是 1)

SELECT * FROM tbl LIMIT 5,10;

检索行 6-15 要检索从某个偏移量到结果集末尾的所有行,您可以为第二个参数使用一些较大的数字。

此语句检索从第 96 行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

使用一个参数,该值指定从结果集开头返回的行数:

SELECT * FROM tbl LIMIT 5;

检索前 5 行 换句话说,LIMIT row_count 等价于 LIMIT 0, row_count。

于 2013-03-28T23:47:06.393 回答