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

MySQL中如何实现部分分组?仅用SELECT不修改原表

用SELECT语句合并特定登录项的解决方案

可以通过条件分组+聚合函数实现需求,无需修改原始数据表,具体SQL语句如下:

SELECT
    CASE
        WHEN NAME IN ('spec1', 'spec2', 'spec3') THEN 'spec'
        ELSE NAME
    END AS NAME,
    SUM(VALUE) AS VALUE
FROM 你的表名
GROUP BY
    CASE
        WHEN NAME IN ('spec1', 'spec2', 'spec3') THEN 'spec'
        ELSE NAME
    END
ORDER BY NAME;

逻辑说明

  • 使用CASE WHEN将spec1、spec2、spec3统一映射为spec,其他名称保持不变
  • 按照映射后的名称分组,用SUM(VALUE)计算合并后的总值
  • 最终结果会将三个spec项合并为一行,其余项保留原有记录

效果验证

输入数据:

NAME   VALUE
spec1  1
1      2
2      0
spec2  2
3      3
4      1
spec3  4

执行SQL后输出:

NAME   VALUE
spec   7
1      2
2      0
3      3
4      1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:25:53