星期三, 四月 29, 2026

SQL窗口函数面试题与解答1






示例:按薪资对员工进行排序

SELECT name, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rn FROM employees;


示例:按部门对员工进行排名

SELECT 'OrangeDBM' as AUTHOR,department, name, salary, RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS dept_rank FROM employees;


SELECT 'OrangeDBM' as AUTHOR,name, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rn FROM employees;


SELECT 'OrangeDBM' as AUTHOR,name, salary, RANK() OVER (ORDER BY salary DESC) AS rn
FROM employees;

SELECT 'OrangeDBM' as AUTHOR,name, salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rn FROM employees;

没有评论:

SQL窗口函数面试题与解答2

  查找每个部门薪资排名前两名的员工 SELECT * FROM ( SELECT 'OrangeDBM' as AUTHOR,department, name, salary, DENSE_RANK() OVER (PARTITION BY departme...