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