
O comando WITH ROLLLUP em bancos de dados MySQL
Como agrupar e totalizar dados de forma hierárquica com exemplos práticos em MySQL.
O comando WITH ROLLLUP é muito útil para analisar dados em diferentes níveis de granularidade. Por exemplo, podemos utilizar esse recurso para agrupar os dados por região, cidade e produto, obtendo um resultado hierárquico que mostra as vendas totais de cada produto em cada cidade e região, bem como as vendas totais de cada cidade em cada região e as vendas totais de cada região.
A sintaxe básica do comando WITH ROLLLUP é a seguinte:
Nessa sintaxe, "coluna1", "coluna2", ..., "colunaN" são as colunas que serão utilizadas para agrupar os dados, "funcao_agregacao" é a função de agregação que será aplicada sobre as colunas selecionadas e "tabela" é a tabela que contém os dados a serem analisados.
Para entender melhor como utilizar o comando WITH ROLLLUP, vamos ver alguns exemplos práticos.
Exemplo 1:
Suponha que temos uma tabela "vendas" com as colunas "regiao", "cidade", "produto" e "valor". Queremos obter o total de vendas por região, cidade e produto, bem como o total de vendas por cidade e região, e o total geral de vendas.
O resultado dessa consulta será o seguinte:
Nesse exemplo, utilizamos a função SUM para totalizar o valor das vendas em cada região, cidade e produto. O resultado é um conjunto de dados hierárquico que mostra as vendas totais de cada produto em cada cidade e região, bem como as vendas totais de cada cidade em cada região e o total geral de vendas.
Região | Cidade | Produto | Total |
---|---|---|---|
Sul | Curitiba | Arroz | 12000.00 |
Curitiba | Feijão | 14000.00 | |
Curitiba | Total | 26000.00 | |
Sul | Florianópolis | Arroz | 8000.00 |
Florianópolis | Feijão | 10000.00 | |
Florianópolis | Total | 18000.00 | |
Sul | Porto Alegre | Arroz | 9000.00 |
Porto Alegre | Feijão | 11000.00 | |
Porto Alegre | Total | 20000.00 | |
Total | 64000.00 | ||
141000.00 |
Nesse exemplo, utilizamos a função SUM para totalizar o valor das vendas em cada região, cidade e produto. O resultado é um conjunto de dados hierárquico que mostra as vendas totais de cada produto em cada cidade e região, bem como as vendas totais de cada cidade em cada região e o total geral de vendas.
Conclusão
O comando WITH ROLLLUP é uma ferramenta útil para a criação de consultas hierárquicas em bancos de dados MySQL. Ele permite que os dados sejam agrupados hierarquicamente e que os totais sejam calculados para cada nível da hierarquia, bem como para o total geral. Isso pode ser especialmente útil para a criação de relatórios e dashboards que mostram informações de resumo sobre grandes conjuntos de dados.