Este tutorial ensinará como usar o grupo por cláusula nos bancos de dados Oracle.
Grupo Oracle por declaração
O grupo por cláusula é usado em uma instrução SELECT para dividir os resultados em vários grupos. A cláusula retornará uma linha por grupo.
Na maioria dos casos, você geralmente encontrará o grupo usado em conjunto com funções agregadas, como soma, avg, max, etc. Nesse cenário, a cláusula agrupa os dados em partições correspondentes e, em seguida, a função agregada é aplicada a cada grupo.
Podemos demonstrar que a sintaxe do grupo por cláusula é mostrada no trecho abaixo:
Selecione col_listObserve que o grupo por cláusula vem após a cláusula de From.
Em alguns casos, você pode incluir a cláusula onde limitar ainda mais o escopo da consulta, como demonstrado na consulta abaixo:
Selecione col_listAs linhas são então agrupadas com base nas condições especificadas nas expressões. Observe que a cláusula deve incluir apenas as colunas de agrupamento.
No entanto, o Oracle permite que você execute um agrupamento multinível usando a palavra -chave Rollup, conforme ilustrado no snippet abaixo:
Selecione col_listExemplo de uso
A seguir, é apresentado um exemplo usado para demonstrar o uso do grupo por cláusula nos bancos de dados Oracle.
Use seus dados disponíveis.
Suponha que tenhamos uma tabela com as informações como mostrado:
Exemplo 1 - Grupo Básico por Uso da Cláusula
O exemplo seguinte consulta demonstra como usar o grupo por cláusula para agrupar as linhas resultantes com base no departamento_id.
Selecione First_Name, departamento_id do grupo de funcionários por departamento_id, primeiro_name;Nesse caso, a declaração deve ordenar os resultados dos dados consultados com base nas colunas departament_id e primeiro_name.
A saída resultante está como estabelecido abaixo:
Exemplo 2 - Usando o grupo por uma cláusula onde
No exemplo abaixo, descrevemos um trenó de código demonstrando como usar o grupo por cláusula em conjunto com uma cláusula onde.
Selecione First_Name, departamento_id de funcionários onde departamento_id> = 100 Grupo por departamento_id, primeiro_name;Nesse caso, a declaração começa selecionando as colunas First_Name e Department_ID da tabela. Em seguida, filtramos apenas para as linhas cujo valor de departamento_id é maior ou igual a 100.
Finalmente, aplicamos o grupo por cláusula, conforme demonstrado pela tabela resultante abaixo:
Exemplo 3 - Usando o grupo por cláusula com uma função agregada
Como afirmado, podemos usar o grupo por função com uma função agregada. Um exemplo de demonstração é fornecido abaixo:
Selecione First_Name, departamento_id, soma (salário) do grupo de funcionários por departamento_id, primeiro_name;A tabela resultante:
Exemplo 3 - Usando o grupo por cláusula com rollup
O exemplo a seguir demonstra como usar a palavra -chave Rollup para determinar a comissão para cada funcionário.
Selecione Funcionário_id, Salário, Sum (Comissário_pct * Salário)Resultados:
Conclusão
Neste post, exploramos o uso do grupo por cláusula nos bancos de dados Oracle para agrupar um conjunto de linhas com base em uma determinada expressão.