如何获取mysql中最后一条记录之前的最后一条记录?

时间:2012-12-18 03:16:20

标签: mysql sql database relational-database

如果最后一条记录是35记录,我怎样才能获得表格的记录34?

2 个答案:

答案 0 :(得分:20)

最简单的方法

SELECT * FROM tab ORDER BY col DESC LIMIT 1,1

这将从第二个LIMIT开始选择一个记录1,1意味着先跳过并选择下一个

必须完成订单,以便最后一个 提到的col很可能是id

如果您知道所需记录的编号,但为什么不能选择id = 34的位置?

答案 1 :(得分:12)

如果知道有35条记录,则需要limit 1 offset 34

如果要从任何集合中获取倒数第二个元素,可以反转集合的顺序并选择一个元素,偏移一个元素。您可以通过首先选择反向排序集的前两个元素来自己实现,然后反转集并选择第一个元素:

select * from
  (select * from my_table order by id desc limit 2) table_alias
order by id limit 1
相关问题