oracle常用分析函数 over(partition by xxx order by xxx)

--over order by 连续累加的意思,把by后面相同的字段,一个组组累加起来
SELECT id_,name_,proc_def_id_, count(*) over(order by name_) FROM ACT_RU_TASK
--over partition by 分组统计 类似于group by,区别是它会列出重复的项,而group by只列出一条
SELECT id_,name_,proc_def_id_, count(*) over(partition by name_) FROM ACT_RU_TASK
--over order by partition by 联合使用,就是上面两功能的和,既然分组统计又累积(注意order by 需要放后面)
SELECT id_,name_,proc_def_id_, count(*) over(partition by name_ order by name_) FROM ACT_RU_TASK

 (当然over 的前面可以是sum ,min,max等 以下只列出count计算多少行)

 

posted @ 2019-02-22 16:22  爱跳舞的程序员  阅读(5675)  评论(0编辑  收藏  举报