Appearance
分析函数窗口
版本要求
- MySQL 8.0+ 支持窗口函数,与标准 SQL 窗口语义接近。
典型用法
sql
SELECT
dept_id,
emp_id,
salary,
RANK() OVER (PARTITION BY dept_id ORDER BY salary DESC) AS rk,
SUM(salary) OVER (PARTITION BY dept_id) AS dept_salary_sum
FROM employees;常见函数
ROW_NUMBER、RANK、DENSE_RANK。LAG、LEAD、FIRST_VALUE、NTH_VALUE。- 聚合开窗:
SUM(...) OVER (...)。
性能
大结果集上窗口函数可能 排序成本高,必要时先缩小子集或加合适 WHERE。