例如select * from table limit 0,5
将最多返回5行或者必须找到5行,如果row_count不等于5,则返回空结果集?
如果查询是select * from table limit 5
怎么办?
答案 0 :(得分:7)
http://dev.mysql.com/doc/refman/5.1/en/select.html
“LIMIT子句可用于约束SELECT语句返回的行数.LIMIT需要一个或两个数字参数,这些参数必须都是非负整数常量(使用预准备语句时除外)。 使用两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的行的最大数量。“
因此,要直接回答您的问题,它最多会返回 5行。
答案 1 :(得分:5)
查询SELECT * FROM table LIMIT 0,5
将从第一条记录开始返回5条记录。
查询SELECT * FROM table LIMIT 5
也会提供与上述查询相同的结果。
如果在该表中记录的记录少于5个,则它不会失败但返回任何记录。
当索引从0开始时,查询SELECT * FROM table LIMIT 6,5
将返回记录7,8,9,10,11。
答案 2 :(得分:2)
限制是一个限制,因此它不会返回超过那么多行。它可以减少回报。
答案 3 :(得分:0)
在查询“select * from table limit 0,5” 0未指定要返回的最小记录。它指定OFFSET。所以当你说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”
相同