怎么查询oracle中最后几条的数据?

顺便解释下谢谢!

第1个回答  2014-09-20
说一个可能的办法,不过最好不要用,估计能慢到吓人。
嵌套查询,select * from( select * from(select rownum num_row,其他字段 from a)b order by num_row desc) where rownum<=n;
首先标识rownum列,然后取一个别名(必须),因为rownum必须是从1开始,所以必须取一个别名,然后按照倒叙排列,排列后最后几条就在前面了,你想查询几就再写一个rownum<=几就行了。
上面的查法很麻烦,应该还有比较简单的查法,也想到了另一种可能,不过需要测试,这里没有测试环境,所以剩下的你自己慢慢考虑吧,我估计大概的意思应该就是这样的。利用rownum。本回答被提问者和网友采纳
第2个回答  2014-09-20
select * from table where rowid = (select max(rowid) from table)
适合新表,如果有修改过的表(增删改)有可能结果不是正确的.

另外一般来说表中都会有个字段(插入时间,或者修改时间)
你也可以根据那个来查询最大的日期.

如果你的表中没有类似的字段,其他办法就很麻烦,不是三言两语能够说明的.操作起来也很复杂.
我这里就不说了.
请采纳。追问

把rowid换成日期,在取5条怎么取啊
rownum<=5 ? 是不是?

相似回答