都在ORACLE下,为什么查询语句Select * From 表名 Where rownum<10 order by 一时间字段 desc
这句取不出来最近更新的10条记录呢?而我查了若干资料都是这么写的啊,为什么?高人快来!!!

解决方案 »

  1.   

    ROWNUM是这样的,当ORDER By 的字段是主键时(多列做主键时,须为第一个做主键的列),先排序,后计算RowNum,而ORDER By 非主键列时,先RowNum后排序。
      

  2.   

    select * from (Select * From 表名  order by 一时间字段 desc) where rownum<=10
      

  3.   

    TO:wangybyangxr(王永斌)
    果然是这样啊,实在是高啊,小弟连续两个难题都是你帮解决的,实在感激不尽,如蒙不弃可否加我QQ:286532647,再次感谢!!!
      

  4.   

    或者
    select * from (
       select 表名.* , row_number() over(order by 一时间字段 desc) rk from 表名
    )
    where rk<=10
      

  5.   

    哈哈, liuyi8903(甜脆夹心)的方法也好用,谢谢两位,马上结