select * from (select c1,c2,rownum r from tbname order by c1 ) where r=2;

解决方案 »

  1.   

    select * from tb where id=(select max(id)-1 from tb);
      

  2.   

    如果表中数据被删除过,bzszp的方法有问题
      

  3.   

    如果用rownum:
    select * from 
    (select c1,c2,rownum r from 
    (select * from tbname order by c1) t
    ) tt 
    where r=2;
      

  4.   

    select id from
    (select id,rank() over(order by id desc) r from table1 order by id desc)
    where r=2
      

  5.   

    SELECT MIN(col) FROM table WHERE col<>(SELECT MIN(col) FROM table)
      

  6.   

    select id from (select id,row_number() over (order by id desc) r from table_name) where r= 2