SSMS
 sql >> Database >  >> Database Tools >> SSMS

Raggruppamento SQL di numeri di conto e ottenimento di subtotali e totale generale

Hai più controllo con i gruppi di raggruppamento:

SELECT ACTNO, grp, SUM(PLAN), SUM(FORECAST)
FROM (SELECT cc.*,
             (CASE WHEN ACTNO IN ('100', '101') THEN 1
                   WHEN ACTNO IN ('200', '201', '202', '203') THEN 2
                   WHEN ACTNO IN ('220', '300', '301') THEN 3
              END) as grp
      FROM COST_CENTER cc
     ) cc
GROUP BY GROUPING SETS ( (ACTNO, grp), (grp), ());

Probabilmente puoi rimuovere grp dal SELECT . . . Non ho mai usato GROUPING SETS senza includere la colonna, però.