Mysql 选择前面的X行
非常简单:我想从一个名为Image的表中选择前10行,从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 编辑:我不能按图像排序的原因是
"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下订单会从第一行开始,所以我会从最老的到最新的。同样的事情,如果我做了“按时间戳顺序描述”,我仍然会有同样的问题。完全刚刚意识到我有多少大脑放屁。谢谢