MySQL 5.7 窗口函数使用举例
时间: 2024-05-04 09:21:22 浏览: 97
MySQL 5.7 支持窗口函数的使用,以下是一个简单的示例:
假设我们有一个员工表(employees)包含以下列:employee_id, first_name, last_name, salary, hire_date, department_id。
现在我们想要对每个部门的员工按照薪水进行排名,可以使用以下查询语句:
```
SELECT
employee_id,
first_name,
last_name,
salary,
department_id,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employees;
```
在上面的查询中,我们使用了 RANK() 函数来计算每个部门内员工的排名。PARTITION BY 子句用于指定分区列(即按照哪一列进行分组),ORDER BY 子句用于指定排序列(即按照哪一列进行排序)。
以上查询将返回一个包含以下列的结果集:employee_id, first_name, last_name, salary, department_id, rank。
其中的 rank 列就是我们计算出的每个员工在其所属部门中的排名。
注意:在使用窗口函数时,必须在查询中使用 OVER 子句来指定窗口范围。
阅读全文