English 中文(简体)
如果我在mysql查询中使用了LIMIT,结果集应该等于限制吗?
原标题:
  • 时间:2009-01-29 06:20:39
  •  标签:

例如, select * from table limit 0,5 会返回最多5行或者必须找到准确的5行,如果行数不等于5,则返回一个空的结果集?

如果查询是select * from table 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开始。

问题回答

将此翻译成中文:http://dev.mysql.com/doc/refman/5.1/en/select.html http://dev.mysql.com/doc/refman/5.1/zh/select.html

"The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must both be non-negative integer constants (except when using prepared statements). With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return."

因此,直接回答你的问题,最多会返回5行。

限制就是限制,因此它不会返回超过那么多行。它也可能返回较少的行。

In query "select * from table limit 0,5" 0 does not specify the minimum records to return. It specifies the OFFSET. So when you say 0, if the query "select * from table" returns 10 records, "limit 0,5" will return the first 5. If you use "limit 5,5" it will return last 5 records.

如果您只有两条记录,它将返回两条记录。如果没有结果,它不会返回错误。LIMIT是最大限制。最小可以是任何数量,甚至是0条记录。

"select * from table limit 5" 和 "select * from table limit 0,5" 是相同的。





相关问题
热门标签