sql 排名函数与分析函数
2017-10-18 本文已影响18人
埃罗芒老兄
示例
查询出公司所有部门的工资最高员工的id(可能存在多个)
SELECT DEPTID,USERID,SALARY
FROM (
SELECT DEPTID,USERID,SALARY,RANK() OVER(PARTITION BY DEPTID ORDER BY SALARY DESC) AS SALARYRANK
FROM TABLE
)AS TEM
WHERE TEM.SALARYRANK=1
分析函数
partition by与group by的区别
排名函数
有数据2000,2000,1000
- rank() 组内相同区分 113
- rownumber() 组内相同不分 123
- dense_rank() 组内相同后者递进 112
- ntile()