我试图搜索,但不确定我得到的关键字是否正确。
我想按 desc 顺序选择不是最后 5 行而是前 5 行的行!
所以如果我有 140 行,我想要第 131-135 行。
以下是我 136-140。
SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 5
如何更改限制值以达到 131-135?
谢谢。
我试图搜索,但不确定我得到的关键字是否正确。
我想按 desc 顺序选择不是最后 5 行而是前 5 行的行!
所以如果我有 140 行,我想要第 131-135 行。
以下是我 136-140。
SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 5
如何更改限制值以达到 131-135?
谢谢。
您想使用两个参数限制:
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 条记录。
限制可以采用 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
SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 5,5;
SELECT id, title, content, date FROM tbl_news ORDER BY id DESC LIMIT 10,5
这对你有用吗?
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