MySQL查询错误?

时间:2014-12-01 04:05:20

标签: mysql sql

我做的查询应该返回5个查询,但我得到10 ...

SELECT *
FROM article ar, account ac
WHERE ar.approved = '1'
AND ar.author = ac.id
ORDER BY ar.id DESC
LIMIT 5 , 10

显示0到9行(总计10行,查询耗时0.0028秒)

我做错了什么?它之前工作得很好......

3 个答案:

答案 0 :(得分:1)

在mySQL中LIMIT X, Y表示

  • X是起始元素(偏移)
  • Y是您要返回的元素数量

这就是为什么你要回10行。

如果您只想要返回5行,并且需要跳过5个第一行,则应使用LIMIT 5, 5

答案 1 :(得分:0)

由于您只需要5行而您需要跳过前5行,请使用:     LIMIT(5,5)

答案 2 :(得分:0)

试试这个:

SELECT *
FROM article ar, account ac
WHERE ar.approved = '1'
AND ar.author = ac.id
LIMIT 5, 10
ORDER BY ar.id DESC

这是语法:

  1. offset 5 )指定要返回的第一行的偏移量。该 第一行的offset为0,而不是1。
  2. count 10 )指定要返回的最大行数