现在的位置: 首页 > 综合 > 正文

oracle 分組函數

2012年07月24日 ⁄ 综合 ⁄ 共 734字 ⁄ 字号 评论关闭

1.

select deptno,row_number() over(partition by deptno order by sal) from emp order by deptno;

2.

select deptno,rank() over (partition by deptno order by sal) from emp order by deptno;

3.

select deptno,dense_rank() over(partition by deptno order by sal) from emp order by deptno;

4.

select deptno,ename,sal,lag(ename,1,null) over(partition by deptno order by ename) from emp ord er by deptno;

5.

select deptno,ename,sal,lag(ename,2,'example') over(partition by deptno order by ename) from em p

order by deptno;

6.

  select deptno, sal,sum(sal) over(partition by deptno) from emp;--每行记录后都有总计值
  select deptno, sum(sal) from emp group by deptno;

7. 求每个部门的平均工资以及每个人与所在部门的工资差额

select deptno,ename,sal ,
       round(avg(sal) over(partition by deptno)) as dept_avg_sal,
       round(sal-avg(sal) over(partition by deptno)) as dept_sal_diff
   from emp;

抱歉!评论已关闭.