0

我试图搜索,但不确定我得到的关键字是否正确。

我想按 desc 顺序选择不是最后 5 行而是前 5 行的行!

所以如果我有 140 行,我想要第 131-135 行。

以下是我 136-140。

SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 5

如何更改限制值以达到 131-135?

谢谢。

4

5 回答 5

3

您想使用两个参数限制:

SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 5, 5

这将为您提供第 5 行之后的前 5 行(即第 6、7、8、9、10 行),这是您想要的最后 5 行之前的 5 行。

编辑:这里的小提琴:http ://sqlfiddle.com/#!2/9113a/1

它应该返回 id 的 4-8,因为这里有 12 条记录。

于 2012-04-13T14:05:48.927 回答
0

限制可以采用 2 个参数,偏移量(从零开始)和数量,所以你可以使用这个:

SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 10, 5

要获得 5 行,从第 10 行开始

对于你的情况,你可以做

SELECT id, title, content, date FROM tbl_news ORDER BY id ASC LIMIT 129, 5
于 2012-04-13T14:00:54.947 回答
0
SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 5,5;
于 2012-04-13T14:02:28.773 回答
-1
SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 10,5
于 2012-04-13T13:59:48.870 回答
-1

这对你有用吗?

select top 5 id
from tbl_news
where id not in
(
    select top 5 id
    from tbl_news
    order by id desc
)
order by id desc
于 2012-04-13T14:03:07.317 回答