分析函数

——row_number选择ename

,

,,,deptno,

,,,rownum,

,,,,row_number()在rn(由deptno顺序),

,,,,排名()/(ORDER BY deptno) rk,——跳号

,,,,dense_rank ()/(ORDER BY deptno) dense_rk——不跳号

,从emp,必须跟order by

,——row_number选择ename

,

,,,deptno,

,,,rownum,

,,,,row_number()/(分区通过deptno顺序deptno) rn,

,,,,排名()/(分区通过deptno顺序deptno) rk,,

,,,,dense_rank()/(分区通过deptno顺序deptno) dense_rk 

,从emp



,——row_number选择ename

,

,,,deptno,

,,,rownum,

,,,,row_number()/(分区由萨尔deptno顺序)rn,

,,,,排名()/(分区由萨尔deptno顺序)rk,

,,,,dense_rank()/(分区由萨尔deptno顺序)dense_rk

,从emp

——求每个部门的最高工资

SELECT *

,(选择ename,

,,,,,,,deptno,

,,,,,,,rownum,

,,,,,,,,row_number()/(分区由萨尔deptno顺序DESC) rn

,,,,——排名()/(分区由萨尔deptno顺序)rk,

,,,,——dense_rank()/(分区由萨尔deptno顺序)dense_rk

,,,,,从emp)

,在rn=1

,总和,avg,马克斯,min

,选择ename,

,,,,deptno,

,,,,萨尔,

,,,,总和(sal)/(分区deptno)”部门汇总”,总和(sal)/()作为“全部汇总”

,,从emp;


——累加

选择ename,

,,,,deptno,

,,,,萨尔,

,,,,总和(sal)/(order BY sal)和(sal)/(order BY sal, rowid)

,,从emp;



,选择ename,

,,,,deptno,

,,,,萨尔,

,,,,avg (sal)/(分区deptno)”部门汇总”,avg (sal)/()作为“全部汇总”

,,从emp;

选择empno,

,,,ename,

,,,,萨尔

,从emp

,萨尔=(选择最小(sal)从emp b a.deptno=b.deptno)

——改写

SELECT *

,(

,,,,,

,,,,选择一个,*

,,,,,,,,row_number()/(分区通过a.deptno秩序a.sal) rn

,,,,,

,,,,,从emp)

,在rn=1

,


SELECT *

,从emp

,在萨尔(选择最小(sal)由萨尔deptno顺序(分区)从emp);


分析函数