非常简单:我想从名为Image from X的表中选择前10行。通常情况下,它看起来像是:
"select * from image order by image_id desc limit X, 10"
但是,我希望X之后的前10行,而不是接下来的10行(所以,我想要x-1,x-2,x-3等,而不是x + 1,x + 2,x + 3等。)。
这样做的简单方法是什么?
顺便说一句,Image有3列:image_id(主要,AI),image_link和时间戳。
编辑:我不能做“按image_id asc订购”的原因是因为我想建立一个从最新到最旧的列表。按升序排序会将列表创建为最新的列表。
答案 0 :(得分:2)
我觉得很简单
select * from image order by image_id desc limit (X-10), 10
答案 1 :(得分:0)
试试这个:
SELECT image_id, name
FROM
(
SELECT
*, @rownum := @rownum + 1 AS rank
FROM image, (SELECT @rownum := 0) t
ORDER BY image_id DESC
) t
WHERE rank BETWEEN 10-5 AND 10;