不能反过来排序,取前5行吗?如果不能这么做,就嵌套一层
   where between  max( rownum)  - 4 and max( rownum) 

解决方案 »

  1.   

    select * from 
    (
    select * from tb1 order by id desc
    )
    where rownum<=5
      

  2.   


    select t.* from 
    (select * from tb order by 编码 desc) t 
    where rownum <= 5
      

  3.   

    我现在用这个方法应该能选出最后5行数据了select * from (select rownum m,gbkid from gst_guestbook) where ( m>(select max(rownum) from gst_guestbook)-5)
    但是现在有个问题,我用plsql在数据库里新加的2条数据,plsql最前面有个灰色的行号显示时第1和第2条数据,这样我就得不到最后5条了
    就是下面第一列这一行,是灰色的也不能改,和后面的id都对不上
       employeeid name
    1   10      Jone
    2   9       Dean
    3   1      Jack
    4   2      Tom
    5   3       Mary
    6   4........
      

  4.   

    干嘛要第二个select   直接这样不行么:
    select * from table
    where rownum<=5
    order by 编号 desc
      

  5.   


    这种写法不行  rownum是在和查询的时候一起生成的  这个效果相当于查询了数据库前5行数据
      

  6.   

    楼主,按照你原来排序相反的方向排序,取前5条不行吗?
    select * from tab order by 编码 desc where rownum <6
    如果非要你这个样子排序的话,那就多嵌套一层
    select * from (select *,rownum rn from tab order by 编码)
    where rn <= max(rn) and rn > max(rn)-6