【发布时间】:2023-03-16 19:36:02
【问题描述】:
如果最后一条记录是记录 35,我如何获取表的记录 34?
【问题讨论】:
标签: mysql sql database relational-database
如果最后一条记录是记录 35,我如何获取表的记录 34?
【问题讨论】:
标签: mysql sql database relational-database
最简单的方法
SELECT * FROM tab ORDER BY col DESC LIMIT 1,1
这将从第二个 LIMIT 1,1 开始选择一条记录,表示先跳过并选择下一个
必须按照最后的顺序进行排序 提到的 col 很可能是 id
如果您知道所需记录的编号,但为什么不能只选择 where id=34?
【讨论】:
如果你知道有 35 条记录,你想要limit 1 offset 34。
如果要从 any 集合中获取倒数第二个元素,可以颠倒集合的顺序并选择一个元素,偏移一个元素。您可以自己实现这一点,首先选择逆序集合的前两个元素,然后反转集合并选择第一个元素:
select * from
(select * from my_table order by id desc limit 2) table_alias
order by id limit 1
【讨论】: