SQL请求:Fruits表按Item分组统计Count求和问题
正确的SQL分组求和解决方案
需求说明
对dbo.Fruits表按Item分组,计算每组Count列的数值总和,预期输出如下:
| Item | Count |
|---|---|
| Apple | 7 |
| Banana | 10 |
| Kiwi | 3 |
正确SQL语句
SELECT Item, SUM(Count) AS Count FROM dbo.Fruits GROUP BY Item ORDER BY Item
原SQL错误分析
- 逻辑方向错误:原代码试图做行转列(透视表),而非需求的分组求和
- 列名错误:原表列名为
Item,代码中误写为Items - 统计对象错误:用
sum(case ... then 1 else 0 end)统计的是每个Item的出现行数,而非Count列的数值总和 - 分组后冗余判断:按
Item分组后,每行仅对应一个Item,再用case判断属于多余操作,导致结果偏离需求
内容的提问来源于stack exchange,提问作者sandeep
相关产品推荐
相关产品推荐

