SSMS
 sql >> Base de Dados >  >> Database Tools >> SSMS

Números de contas de agrupamento SQL e obtenção de subtotais e total geral


Você tem mais controle com conjuntos de agrupamento:
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), ());

Você provavelmente pode remover grp do SELECT . . . Eu nunca usei GROUPING SETS sem incluir a coluna, no entanto.