例如将select * from table limit 0,5
最多返回 5 行,或者
它必须准确找到 5,如果 row_count 不等于 5,它返回一个空结果集?
如果查询是select * from table limit 5
什么?
http://dev.mysql.com/doc/refman/5.1/en/select.html
“LIMIT 子句可用于限制 SELECT 语句返回的行数。LIMIT 接受一个或两个数字参数,它们都必须是非负整数常量(使用准备好的语句时除外)。有两个参数,第一个参数指定要返回的第一行的偏移量,第二个指定要返回的最大行数。"
因此,要直接回答您的问题,它最多会返回5 行。
查询SELECT * FROM table LIMIT 0,5
将从第一条记录开始返回 5 条记录。
查询SELECT * FROM table LIMIT 5
也将给出与上述查询相同的结果。
如果该表中的记录少于 5 条,则它不会失败,而是返回那里的任何记录。
查询SELECT * FROM table LIMIT 6,5
将返回记录 7,8,9,10,11,因为索引从 0 开始。
限制是一个限制,所以它不会返回超过那么多行。它可以返回更少。
在查询“select * from table limit 0,5”中,0 没有指定要返回的最少记录。它指定偏移量。所以当你说 0 时,如果查询“select * from table”返回 10 条记录,“limit 0,5”将返回前 5 条记录。如果使用“limit 5,5”,它将返回最后 5 条记录。
如果您只有 2 条记录,它将返回两条记录。如果没有结果,它不会返回错误。LIMIT 是最大限制。最小值可以是任何东西,甚至是 0 条记录。
"select * from table limit 5" 与 "select * from table limit 0,5" 相同