select top 1 *
from(
select top 2 * 
from tb
order by [date] desc)a
order by [date]

解决方案 »

  1.   

    select 
      col1,
      col2,
      ...
    from 
      (select col1,col2,...,px=(select count(1)+1 from tb where 日期>t.日期) from tb t) a
    where
      px=2
      

  2.   


    select top 1 from (select top 2 from tb order by rq desc) a order by rq 
      

  3.   


    select top 1 * from (select top 2 * from tb order by rq desc) a order by rq 
      

  4.   

    select * from
    (
      select *,'idnew'=row_number() over(order by [date] desc)
      from tb
    )a
    where idnew=2
      

  5.   


    select top 1 from (select top 2 from table order by date desc) tb order by date
      

  6.   

    我的错,忘记说明了,数据库是mysql 用不了TOP N
      

  7.   

    Select * from tb limit 1,1
    大概是这样,试试看。
      

  8.   

    楼上正解,完善一下:
    select * from tb order by rq desc limit param, 1
    param = 1就是取第二条记录,param = 2就是取第三条记录,以此类推