查询一段时间内每个时间粒度的每个业务类型的前十条数据,使用 over(partition by) 解决,不用写游标
select *
from (select t.时间字段,t.业务类型字段,
row_number() over(partition by t.时间字段,t.业务类型字段 order by 1) rn
from 表名 t
where t.time_stamp >
to_date('20190308095000', 'yyyy-mm-dd hh24:mi:ss')
and t.time_stamp <=
to_date('20190308100000', 'yyyy-mm-dd hh24:mi:ss'))
where rn <= 10
order by t.时间字段,t.业务类型字段 ;
一直以为只能传一个字段排序,看来可以传多个字段,很厉害的函数