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

MySQL如何按组汇总分数?组可存在于两列中

跨两列分组汇总分数的解决方案

要实现所有组(无论在groupname1还是groupname2列中)的分数总和统计,你可以通过合并两列的组数据再分组求和的方式实现,具体SQL语句如下:

SELECT `group`, SUM(score) AS total
FROM (
    -- 取出groupname1列的组及对应分数
    SELECT groupname1 AS `group`, score FROM attendants
    UNION ALL
    -- 取出groupname2列的组及对应分数
    SELECT groupname2 AS `group`, score FROM attendants
) AS combined_groups
GROUP BY `group`
ORDER BY `group`;

语句说明:

  1. 内层子查询通过UNION ALL合并两列数据:将groupname1和groupname2统一映射为group列,同时保留对应的score值,确保所有出现过的组都被纳入统计范围。
  2. 外层查询对合并后的group列分组,用SUM(score)计算每个组的总分,ORDER BY可以让结果按组名有序排列,和你需要的输出格式完全匹配。

执行这条语句后,会得到如下结果:

grouptotal
GROUPA40
GROUPB60
GROUPC50
GROUPD30

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:35:36