如何用SUM+CASE WHEN实现指定门店行的销售额合并求和?
解决Store分组求和合并的SQL问题
原始数据
Store SALES A1 200 A2 100 B1 400
目标结果
Store SALES A1 300 B1 400
实现SQL
你可以通过CASE WHEN统一分组标识,再结合SUM()聚合函数完成需求,代码如下:
SELECT CASE WHEN Store IN ('A1', 'A2') THEN 'A1' ELSE Store END AS Store, SUM(SALES) AS SALES FROM your_table_name -- 替换为你的实际表名 GROUP BY CASE WHEN Store IN ('A1', 'A2') THEN 'A1' ELSE Store END;
逻辑说明
CASE WHEN将A2的Store值替换为A1,让A1和A2进入同一分组SUM(SALES)对每组的销售额进行求和计算GROUP BY子句必须和SELECT中的分组规则一致,保证分组聚合的正确性
内容的提问来源于stack exchange,提问作者HAMZA.SOUFIANE
相关产品推荐
相关产品推荐

