SQL server 2008: SUM in neuer Zeile berechnen (Gruppe von)

Ich habe einen Tisch mit folgendem:

CREATE TABLE #tableA (color varchar(10), ids int, scores int) INSERT INTO #tableA VALUES ('red', 1, 100), ('red',2,100), ('red',3,50), ('blue',1,20), ('blue',5,50) 

Ich möchte die SUM von Scores, Gruppe nach Farbe zu bekommen. Erwartetes Ergebnis:

 color id scores red 1 100 red 2 100 red 3 50 SUM 250 (100+100+50) blue 1 20 blue 5 50 SUM 70 (all blues) 

Vielen Dank

Hier können Sie GROUPING SETS , obwohl die Ergebnisse nicht direkt in dem gewünschten Format stehen:

 SELECT color, ids, SUM(scores) Scores FROM #TableA GROUP BY GROUPING SETS((color,ids),(color)) 

Die Ergebnisse sind:

 ╔═══════╦══════╦════════╗ ║ color ║ ids ║ Scores ║ ╠═══════╬══════╬════════╣ ║ blue ║ 1 ║ 20 ║ ║ blue ║ 5 ║ 50 ║ ║ blue ║ NULL ║ 70 ║ ║ red ║ 1 ║ 100 ║ ║ red ║ 2 ║ 100 ║ ║ red ║ 3 ║ 50 ║ ║ red ║ NULL ║ 250 ║ ╚═══════╩══════╩════════╝ 

Verwenden Sie ROllUP in Group by

 SELECT * FROM (SELECT color, ids, Sum(scores)scores FROM #tableA GROUP BY color, ids WITH rollup) a WHERE color IS NOT NULL OR ids IS NOT NULL