ROLLUP (SQL)
Atalho do SQL dentro do GROUPING SETS que gera subtotais hierárquicos. GROUP BY ROLLUP (ano, mês, dia) devolve totais por dia, por mês, por ano e um total geral — perfeito para relatórios com "subtotais e um grande total".
Lógica: ROLLUP (a, b, c) produz os agrupamentos (a,b,c), (a,b), (a) e () → ele "sobe" do nível mais fino para o mais grosso. Pense num relatório financeiro: valores por dia, somados em mês, somados em ano, somados no total geral. É diferente do CUBE (que dá todas as combinações de dimensões, não só a subida hierárquica). Use ROLLUP quando as dimensões têm uma hierarquia natural (tempo: ano > mês > dia; geografia: país > região > cidade). A função GROUPING() identifica as linhas de subtotal. É padrão SQL, com suporte amplo. Poupa você de juntar manualmente várias consultas de agregação com UNION.