/*
四个排名函数
前三个:假设有5个人 2 3 人分数一样 ,则下列不同的排序结果。
*/
-- 1 ROW_NUMBER RE:1 2 3 4 5
SELECT E.ENAME,E.EMPNO,E.SAL,E.DEPTNO,D.DNAME
,ROW_NUMBER()OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL)
FROM EMP E INNER JOIN DEPT D ON E.DEPTNO=D.DEPTNO;
--2 RANK RE: 1 2 2 4 5
SELECT E.ENAME,E.EMPNO,E.SAL,E.DEPTNO,D.DNAME
,RANK()OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL)
FROM EMP E INNER JOIN DEPT D ON E.DEPTNO=D.DEPTNO;
--3 DENSE_RANK RE:1 2 2 3 4
SELECT E.ENAME,E.EMPNO,E.SAL,E.DEPTNO,D.DNAME
,DENSE_RANK()OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL)
FROM EMP E INNER JOIN DEPT D ON E.DEPTNO=D.DEPTNO;
--4 NTILE(桶数) RE : 1 1 2 2 3
--总记录数/桶数 【从前往后+1】=桶量,根据樋量进行排名。
SELECT E.ENAME,E.EMPNO,E.SAL,E.DEPTNO,D.DNAME
,NTILE(11)OVER( ORDER BY E.SAL)
FROM EMP E INNER JOIN DEPT D ON E.DEPTNO=D.DEPTNO;