over oracle分析函数的用法

来源:互联网 发布:php开源网站统计系统 编辑:程序博客网 时间:2024/05/20 16:09

### over 

over 分析函数和聚合函数的区别: 聚合函数只返回一条数据,而分析函数返回的是多条数据

1.rank() over(partiton by XX orader by ZZ desc)(分组排序序号)

2.sum(sal) over (partition by deptno) 按部门求薪酬总和

3.ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数
partition by可不写,这样就是全局排序


实例

over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数
   over(partition by deptno)按照部门分区

##使用,可与over函数结合使用的函数

row_Number() , rank() , sum

1.row_number()over(partition by class order by s desc)   --每组只返回一个结果集

2.rank()over(partition by class order by s desc)   --会将每组所有的结果都查找出来

3.dense_rank()l是连续排序,有两个第二名时仍然跟着第三名

4.sum(s)over(partition by class order by s desc)  --累加求和

原创粉丝点击