两种默认
两种默认
-- 无 ORDER BY:整分区求平均,每行相同
SELECT id, dept_id, AVG(salary) OVER (PARTITION BY dept_id) AS dept_avg
FROM employees;
-- 有 ORDER BY:累计到当前行(RANGE 帧)
SELECT id, dept_id, salary,
AVG(salary) OVER (PARTITION BY dept_id ORDER BY hired_at) AS avg_so_far
FROM employees;| 无 ORDER BY | 帧 = 整个分区 |
|---|---|
| 有 ORDER BY | 帧 = 分区起点到当前行(含并列) |
| 显式写帧 | 结果不确定时明确写出 ROWS/RANGE |