如何计算行组的总和

时间:2016-10-10 19:43:37

标签: sql-server tsql sql-server-2012

你能帮我在SQL Server 2012中进行查询吗?我有例如下表中的示例数据。

  

代码价格   p1 1,00
p2 1,00
p3 1,00
p4 1,00
p1 2,00
p3 2,00
第2页,00

我需要得到总和(p1),总和(p2),总和(其他)如

p1 3.00
p2 5.00
other 4.00

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以在查询中使用案例:

CASE WHEN code NOT IN ('p1', 'p2') THEN 'Other' ELSE code END

你显然也需要这个作为GROUP BY中的表达式:

SELECT 
     CASE WHEN code NOT IN ('p1', 'p2') THEN 'Other' ELSE code END AS NewCode, 
SUM(price) 
FROM TableName
GROUP BY CASE WHEN code NOT IN ('p1', 'p2') THEN 'Other' ELSE code END