scott用户测试 rank dense_rank row_number ntile四个排名函数

 /*
四个排名函数
前三个:假设有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;
 

 

 

 
scott用户测试 rank dense_rank row_number ntile四个排名函数_第1张图片
 

你可能感兴趣的:(row_number)