【发布时间】:2013-02-01 13:54:30
【问题描述】:
我想知道是否有办法使用LIMIT 运算符来始终在结果集中包含第一行。我的意思是不管指定的任何范围。例如:
SELECT * FROM `table` LIMIT 5, 10
应该返回第一行和第 6 行到第 15 行,或者:
SELECT * FROM `table` LIMIT 200, 30
应该返回第一行和第 201 行到第 231 行。有没有办法做到这一点?
编辑第一行 id 始终为 0
【问题讨论】:
-
其实 LIMIT 5, 10 返回第 6-15 行,而不是 5-15...
-
@Pete:对,只是一个错误。
-
你对结果集有什么了解吗?第一个元素是否总是具有最低的 ID 或类似的东西?
-
小心!正式地说,SELECT 语句结果集中的行顺序是unpredictable,除非您使用 ORDER BY 子句指定它。也就是说,MySQL 服务器决定哪一行是第一行。现在它的决定对你有利。以后它可以改变主意。
-
@Scott:是的,它的 id 总是 0