【MySql】 深入了解 SQL 窗口函数:ROW_NUMBER() 的使用与应用
-- 创建示例表
CREATE TABLE IF NOT EXISTS employee_scores (
employee_id INT,
department_id INT,
score INT
);
-- 插入示例数据
INSERT INTO employee_scores (employee_id, department_id, score) VALUES
(1, 1, 90),
(2, 1, 80),
(3, 2, 85),
(4, 2, 85),
(5, 1, 75),
(6, 2, 75);
-- 使用ROW_NUMBER()为每个部门的员工按分数排名
SELECT
employee_id,
department_id,
score,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY score DESC) AS rank
FROM
employee_scores;
这段代码首先创建了一个名为employee_scores
的表,然后插入了一些示例数据。接着,使用ROW_NUMBER()
窗口函数为每个部门内员工按分数从高到低排列了名次。这是一个常见的用法,对于需要在分组内排序的场景非常有用。
评论已关闭