oracle rank

oracle中 没有入sql server的top,但是可以用rank | percent_rank | row_number | dense_rank等等函数来完成,

如我要取我查询结构的前百分之80的数据:

 

 

select count(*) from(
SELECT t.finishtime - t.receivetime laboredtime,
       percent_rank() over(ORDER BY(t.finishtime - t.receivetime)) rn,
       t.receivetime
  FROM losi_token t, losd_node tn, losd_process tp
 WHERE t.node_id = tn.node_id
   AND tn.process_id = tp.process_id
   AND tn.nodename = '员工日报输入'
   AND tp.processname = '员工日报子流程'
   AND t.receivetime > to_date('2011-08-22 ', 'yyyy-mm-dd hh24:mi:ss')
   AND t.receivetime < to_date('2012-08-06', 'yyyy-mm-dd hh24:mi:ss')
) where rn <0.8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值