oracle求数据库里面某个字段每天的前十条记录,将查询结果放进到一张存储表中,怎么速度比较快

时间:2021-05-04 14:48:28
数据库有字段cfje,cfh,cfrq,jzlsh这几个字段,现在想求取以往每天前十条记录,以cfje大小排序,cfrq为date类型,将查询的结果放在一张表中,程序调用这张表,数据库数量大约有500万条记录。

2 个解决方案

#1


下面取出所需数据,然后自己想法写表:

select * from (select cfje,cfh,cfrq,jzlsh,row_num() over (partition by cfrq order by cfje desc) rn from YourTable)
  where rn<=10
--order by cfje desc 这是取cfje 最大的10位,若取最小的则 order by cfje

#2


楼上方法试了,能解决问题,谢了 oracle求数据库里面某个字段每天的前十条记录,将查询结果放进到一张存储表中,怎么速度比较快

#1


下面取出所需数据,然后自己想法写表:

select * from (select cfje,cfh,cfrq,jzlsh,row_num() over (partition by cfrq order by cfje desc) rn from YourTable)
  where rn<=10
--order by cfje desc 这是取cfje 最大的10位,若取最小的则 order by cfje

#2


楼上方法试了,能解决问题,谢了 oracle求数据库里面某个字段每天的前十条记录,将查询结果放进到一张存储表中,怎么速度比较快