Subcláusula ROLLUP

A subcláusula ROLLUP é uma extensão da cláusula GROUP BY que permite permite a criação de conjuntos de agrupamentos múltiplos, facilitando a criação de subtotais e o total geral em consultas.

O ROLLUPasume uma hierarquia entre as colunas de entrada, o que significa que, se as colunas forem (c1, c2), então a hierarquia será c1 > c2.

Com o ROLLUP é possível criar todos os conjuntos de agrupamentos lógicos considerando essa hierarquia.

Por exemplo, a sintaxe ROLLUP(c1, c2) cria três conjuntos de agrupamentos: (c1, c2), (c1) e ().


Sintaxe básica

A sintaxe básica para a utilizar o GROUP BY ROLLUP é a seguinte:

SELECT <coluna1>, <coluna2>, <função_agregada(coluna3)> 
FROM <nome_tabela>
GROUP BY ROLLUP (<coluna1>, <coluna2>)
ORDER BY <coluna1>, <coluna2> 


Exemplo

É comum usar o ROLLUP para relatórios que necessitam de subtotais e totais.




Documentação oficial da Microsoft