2017-12-26 1 views
0

Ich habe eine Tabelle wie folgt aus:Summen mit Subpopulationen

----------------- 
| Name | Amount| 
----------------- 
| A  | 100 | 
| B  | 200 | 
| C  | 100 | 
| D  | 200 | 
| E  | 100 | 
| Total | 700 | 
----------------- 

ich für jeden einzelnen auf insgesamt bis zu der Lage sein wollen und den Rest als insgesamt zum Vergleich zu zeigen. So zum Beispiel:

----------------- 
| Name | Amount| 
----------------- 
| A  | 100 | 
| Others| 600 | 
| Total | 700 | 
----------------- 

Wenn ich ein GROUP BY und WITH ROLLUP, ich bin in der Lage, die ursprüngliche Tabelle zu bekommen, aber nicht in der Lage, herauszufinden, wie die zweite Tabelle zu generieren.

+0

Hallo, versuchen, mit diesem, in der select-Anweisung: SELECT blabla ... , CASE WHEN Name = 'A' THEN 'A' ELSE 'andere' END AS Typ ... GROUP BY-Typ ... – MiloBellano

Antwort

0
SELECT NAME, AMOUNT FROM 
(
SELECT 
CASE WHEN A THEN A ELSE OTHERS END AS NAME, AMOUNT 
FROM MyTable 
) T 
GROUP BY ROLLUP NAME, AMOUNT 
+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/18361302) – Akshay