mysql - 选择前 X 行

标签 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_id(primary,AI)、image_link 和 timestamp。

编辑:我不能执行“按 image_id asc 排序”的原因是因为我想构建一个从最新到最旧的列表。按升序排序会创建从旧到新的列表。

最佳答案

我觉得很简单

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

关于mysql - 选择前 X 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449609/

相关文章:

mysql - 安装c++ mySQL连接器时出错

mysql单表覆盖索引查询优化策略

php - 从mysql中的多个左联接清除结果

MySQL : why is left join slower then inner join? 需要优化帮助

php - 无法将日期存储在数据库中

python - Varchar 字段上的 MySQL 唯一索引 - 优点和缺点?

php - 如何使sql查询按日期对结果进行分组和求和?

php - Mysqli 到 foreach 内的数组;内部 foreach 与另一个 mysqli 数组无法正确读取外部数组中的值

mysql - ExpressionEngine 查询模块和排序 SQL UNION

mysql - 错误代码 : 1118. 行大小太大 (> 8126)。将某些列更改为 TEXT 或 BLOB 可能会有所帮助。在当前行格式中,