Skip to content

Otacio Barbosa

Soluções Tecnologicas

Primary Menu
  • Home
  • Microsoft SQL Server
  • Como Usar GROUP BY GROUPING no SQL de Forma Simples
  • Microsoft SQL Server
  • SQL

Como Usar GROUP BY GROUPING no SQL de Forma Simples

Otácio Barbosa 25 de setembro de 2024
sqlserver

Como Usar GROUP BY GROUPING SETS no SQL Server de Forma Simples

Quando trabalhamos com o SQL Server, é muito comum precisar agrupar dados para gerar relatórios ou análises usando a cláusula GROUP BY.

Mas você sabia que o SQL Server oferece uma maneira poderosa e eficiente de agrupar dados de várias formas ao mesmo tempo?

Vamos falar sobre GROUP BY GROUPING SETS e como ele pode simplificar suas consultas!

O Que É GROUP BY GROUPING SETS?

O GROUP BY GROUPING SETS é uma extensão do GROUP BY tradicional disponível no SQL Server que permite agrupar dados de múltiplas maneiras em uma única consulta. Ele é ótimo para gerar subtotais e totais gerais sem precisar escrever várias consultas ou usar UNION.

Por Que Usar GROUPING SETS no SQL Server?

Imagine que você tem uma tabela de vendas e quer ver o total de vendas por mês, por categoria de produto e, além disso, quer ver o total geral de todas as vendas. Com o GROUP BY tradicional, você teria que escrever três consultas separadas e unir os resultados. Com GROUPING SETS do SQL Server, você faz tudo isso de uma vez só!

Como Funciona?

Vamos usar um exemplo prático para explicar.

Exemplo: Agrupando Vendas

Suponha que temos uma tabela Vendas com os seguintes campos:

  • Mes: O mês da venda
  • Categoria: A categoria do produto
  • Valor: O valor da venda

Aqui está como a tabela de exemplo pode se parecer:

MesCategoriaValor
JanEletrônicos1000
JanMóveis500
FevEletrônicos800
FevMóveis300

Queremos ver:

  1. As vendas por mês
  2. As vendas por categoria
  3. O total geral das vendas

Aqui está como a consulta com GROUPING SETS no SQL Server pode fazer isso de forma simples:

SELECT 
    Mes,
    Categoria,
    SUM(Valor) AS TotalVendas
FROM Vendas
GROUP BY GROUPING SETS (
    (Mes),          -- Total por mês
    (Categoria),    -- Total por categoria
    ()              -- Total geral
);

O Resultado Seria Assim:

MesCategoriaTotalVendas
JanNULL1500
FevNULL1100
NULLEletrônicos1800
NULLMóveis800
NULLNULL2600

Vamos entender o que aconteceu aqui:

  • (Mes): Agrupamos as vendas por mês.
  • (Categoria): Agrupamos as vendas por categoria.
  • (): Calculamos o total geral.

O NULL representa os níveis de agregação que não se aplicam a esse total específico.

Dicas Extras

  • Totais e Subtotais: Se você precisa de subtotais e totais gerais em relatórios, GROUPING SETS no SQL Server é uma ótima ferramenta.
  • Mais de Um Campo: Você pode incluir vários campos em cada agrupamento. Por exemplo, (Mes, Categoria) agruparia por ambos.

Conclusão

O GROUP BY GROUPING SETS no SQL Server pode parecer complicado à primeira vista, mas é uma maneira muito poderosa e eficiente de trabalhar com agrupamentos. Em vez de escrever várias consultas e uni-las, você pode obter todos os agrupamentos que precisa de uma vez só, economizando tempo e tornando seu código mais limpo.

Agora que você entende o básico, experimente usar GROUPING SETS em suas próprias consultas no SQL Server! Você verá como ele pode simplificar e melhorar a forma como você trabalha com seus dados.

About the Author

Otácio Barbosa

Administrator

Visit Website View All Posts

Post navigation

Next: Passo a Passo para Atualizar o Fluig

Related Stories

ChatGPT Image 15 de jan. de 2026, 10_01_53
  • Consinco
  • DBA
  • Oracle
  • SQL
  • TOTVS Varejo Supermercados

Oracle 19c: Uso Obrigatório de Objetos de Diretório no Consinco

Otácio Barbosa 15 de janeiro de 2026 0
mysql
  • MySQL
  • SQL

Como Consultar Colunas de um Banco de Dados MySQL Usando Information Schema

Otácio Barbosa 16 de outubro de 2024 0
84b1b2cf-postgreselepantwbg
  • PostgreSQL
  • SQL

Como Criar um Usuário no PostgreSQL e Conceder Permissões

Otácio Barbosa 2 de outubro de 2024 0

Posts recentes

  • Como Consultar e Baixar DANFEs em Lote no e-ColdWeb (Passo a Passo)
  • Sala Tira Dúvidas | RH – RM | Evento S-1210
  • Oracle 19c: Uso Obrigatório de Objetos de Diretório no Consinco
  • Erro de Conversão de NF-e após Ativação de IBS/CBS (NT)
  • Reforma Tributária 2026: o que dizem os artigos e como as empresas devem se preparar

Categorias

  • Blog
  • Consinco
  • DBA
  • Desenvolvimento
  • Eventos
  • Fiscal
  • Fluig
  • Google
  • Inteligência Artificial
  • Linha Consinco
  • Microsoft SQL Server
  • Ministério do Trabalho e Emprego
  • MySQL
  • NDD
  • NFCe
  • Notas Técnicas
  • Oracle
  • PostgreSQL
  • Power Query
  • Programação
  • Projetos
  • Receita Federal
  • Reforma Tributária
  • SQL
  • Superminas Food Show 2025
  • TOTVS
  • TOTVS Fluig
  • TOTVS Informa
  • TOTVS Varejo Supermercados
  • Tutoriais
  • Varejo
  • XML

You may have missed

unnamed (1)
  • NDD
  • TOTVS Varejo Supermercados

Como Consultar e Baixar DANFEs em Lote no e-ColdWeb (Passo a Passo)

Otácio Barbosa 2 de fevereiro de 2026 0
Screenshot_2
  • Blog

Sala Tira Dúvidas | RH – RM | Evento S-1210

Otácio Barbosa 27 de janeiro de 2026 0
ChatGPT Image 15 de jan. de 2026, 10_01_53
  • Consinco
  • DBA
  • Oracle
  • SQL
  • TOTVS Varejo Supermercados

Oracle 19c: Uso Obrigatório de Objetos de Diretório no Consinco

Otácio Barbosa 15 de janeiro de 2026 0
8fdb1345-40d3-400a-b8c7-3f68fcbaa996
  • Reforma Tributária
  • TOTVS
  • TOTVS Fluig
  • TOTVS Informa
  • TOTVS Varejo Supermercados
  • Varejo

Erro de Conversão de NF-e após Ativação de IBS/CBS (NT)

Otácio Barbosa 14 de janeiro de 2026 0
Copyright © All rights reserved. | MoreNews by AF themes.