Mysql 选择前面的X行

Mysql 选择前面的X行,mysql,Mysql,非常简单:我想从一个名为Image的表中选择前10行,从X开始。通常情况下,它看起来就像: "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\u id(primary,AI)、Image\u link和timestamp 编辑:我不能按图像排序的原因是

非常简单:我想从一个名为Image的表中选择前10行,从X开始。通常情况下,它看起来就像:

"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\u id(primary,AI)、Image\u link和timestamp

编辑:我不能按图像排序的原因是因为我想建立一个从最新到最旧的列表。按升序排序将创建从最旧到最新的列表。

尝试以下操作:

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;

我认为这很简单

select * from image order by image_id desc limit (X-10), 10

image\u id desc
更改为
asc
?很好,但这样做的目的是显示一个大的项目列表,从最新的项目开始,然后,随着时间的推移,向下到最旧的项目。因为asc下订单会从第一行开始,所以我会从最老的到最新的。同样的事情,如果我做了“按时间戳顺序描述”,我仍然会有同样的问题。完全刚刚意识到我有多少大脑放屁。谢谢