select * from (select * from tb order by rowid desc ) t where rownum<=50;
解决方案 »
- 关于decode的用法
- update 树递归
- Oracle向Sql Server转换的相关问题
- 大家好,我想每天下午执行一次数据库更行,从一个表中导入到另一个表中,请问这个存储过程怎么写啊?
- Oracle 9i2中。想导入第三方的Jar包,需要怎么操作呢?
- 大数据表备份方案求教
- >>>> 怎样用触发器获取有记录变动的字段名 <<<<
- 用存储过程实现删除数据库临时表的问题
- 一个冷备份的库里,请帮忙分别说说这都是些管什么的文件或是大概做什么的?
- *****奇怪问题:一段sql语句在oracle10g中执行报错,而在92中执行没有问题
- 一个小问题!请高人指点一下,不盛感谢,在线等候(立即给分^_^^_^^_^)!
- oracel 开发ERP程序现在主要是用什么开发工具
错误位于第1行:
ORA-00907: 缺少右括号
前六位为对应的object_id AAA6Xi
7-9位为file_no AAr
10-15位为block_no AADDmm
16-18位为row_number AAO
错误位于第1行:
ORA-00907: 缺少右括号
select * from (
select * from (
select a.*,rownum as rowno from tab ) order by rowno desc )
) where rowno<51 order by rowno ;
用rownum
select * from (select * from (select rownum rn,a.* from table_name a) order by rn desc) where rn<=50;
select * from (select * from sbda_psmdpydt order by mdseno desc) where rownum<10;
要按插入顺序排列,只有增加插入时间的列用来保存插入时间(如rec_date)
select * from (select * from tablename order by rec_date desc) where rowum <=50;
同样要查询最后插入10条前的50条记录如下:
select * from (select * from (select * from tablename order by rec_date desc) where rowum <=60 order by rownum desc) where rownum < 10;
但是一旦你的数据库里面有一定的数据删除或几次插入隔一定的时间,你就会发现分配的数据块和前面的已经不再连续,甚至可能后分的数据快在已有的数据块的前面,这样ROWID的大小顺序已经不可以在表示出数据插入的顺序了。要按原始数据排序,还是加个排序的时间字段吧.