You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GROUP BY分组查询中同时显示每日平均薪资与周总平均薪资

实现分组查询同时展示全周总平均薪资的SQL方案

方法1:用UNION ALL合并分组结果与总平均

直接把原有分组查询和全周平均的查询结果合并,给总平均行加个明确标识:

SELECT weekday, AVG(salary) AS avg_salary
FROM table1
GROUP BY weekday
UNION ALL
SELECT '全周平均' AS weekday, AVG(salary) AS avg_salary
FROM table1;

这种方式会在每日平均的结果后面多一行全周总平均的数据,一眼就能区分开分组行和汇总行。

方法2:用窗口函数实现同行展示总平均(需数据库支持窗口函数,比如MySQL8+、PostgreSQL、SQL Server)

通过窗口函数计算全局的平均薪资,让每一行每日平均的旁边都带上全周总平均:

SELECT 
    weekday,
    AVG(salary) AS avg_salary,
    AVG(AVG(salary)) OVER () AS total_avg_salary
FROM table1
GROUP BY weekday;

这种方式适合需要把每日平均和全周总平均放在同一行对比的场景,不用额外翻找汇总行。

内容的提问来源于stack exchange,提问作者rafine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:09:19