Função GROUPING_ID

A função GROUPING_ID permite identificar os níveis de agrupamento em consultas que utilizam a cláusula GROUP BY.

Esta função devolve um número inteiro que representa um bitmap.

Um bitmap é vetor de bits que representa uma estrutura de dados interna com o objetivo de otimizar consultas. Cada bit representa a presença ou ausência de um valor específico.

No GROUP BY cada bit corresponde a uma coluna na lista GROUP BY. Se um bit estiver definido como 1 significa que a coluna correspondente não é uma coluna de agrupamento.


Sintaxe básica

A sintaxe básica para a utilizar o GROUPING_ID é a seguinte:

GROUPING_ID ( <expressão_coluna>[ ,...n ] )


Exemplo

Se efectuar um conjunto de agrupamento com a lista do GROUP BYcom a seguinte definição (SalesPersonID, YEAR(OrderDate)), (SalesPersonID), (YEAR(OrderDate)), () vai obter quatro grupos de agrupamentos.

  • O grupo 0 em binário 00 representa 0: conjunto de agrupamento SalesPersonID e Year (binário 00).
  • O grupo 1 em binário 10 representa conjunto de agrupamento que apenas inclui o Year.
  • O grupo 2 em binário 11 representa conjunto de agrupamento que apenas inclui o SalesPersonID.
  • O grupo 3 em binário 010 representa a linha total geral.




Documentação oficial da Microsoft