首页 > 试题广场 >

在MySQL 8.0中,关于窗口函数与GROUP BY的交互

[单选题]
在MySQL 8.0中,关于窗口函数与GROUP BY的交互:
SELECT department_id,
AVG(salary) AS dept_avg,
AVG(AVG(salary)) OVER () AS company_avg
FROM employees
GROUP BY department_id;
这个查询的行为是:
  • 报错,不能在窗口函数中嵌套聚合函数
  • 先按department_id分组计算每部门平均薪资,然后窗口函数计算所有部门平均薪资的平均值(即公司的"部门平均薪资"的均值)
  • 先计算窗口函数,再执行GROUP BY
  • AVG(AVG(salary))等价于AVG(salary)
group by和聚合函数优先级高于窗口函数
发表于 2026-03-30 10:14:13 回复(0)