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

在mysql中,如何在最后一条记录之前获取最后一条记录?,mysql,sql,database,relational-database,Mysql,Sql,Database,Relational Database,如果最后一条记录是记录35,如何获取表的记录34?最简单的方法 SELECT * FROM tab ORDER BY col DESC LIMIT 1,1 这将从第二个限制1开始拾取一条记录,1表示先跳过,然后拾取下一条 必须先下订单,最后一个才是第一个 提到的上校很可能是身份证 如果您知道所需记录的编号,那么为什么不能选择id=34的位置?如果您知道有35条记录,则需要限制1偏移量34 如果要从任何集合中获取最后第二个元素,可以反转集合的顺序并选择一个元素,即偏移一个元素。您可以通过首先选择

如果最后一条记录是记录35,如何获取表的记录34?

最简单的方法

SELECT * FROM tab ORDER BY col DESC LIMIT 1,1
这将从第二个限制1开始拾取一条记录,1表示先跳过,然后拾取下一条

必须先下订单,最后一个才是第一个 提到的上校很可能是身份证

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

如果您知道有35条记录,则需要
限制1偏移量34

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

select * from
  (select * from my_table order by id desc limit 2) table_alias
order by id limit 1

如何在yii2中使用此查询?