Summary: in this tutorial, you will learn how to use the Oracle GROUP BY clause to group rows into groups.

Introduction to Oracle GROUP BY clause

The GROUP BY clause is used in a SELECT statement to group rows into a set of summary rows by values of columns or expressions. A cláusula GROUP BY devolve uma linha por grupo.,

GROUP BY cláusula é muitas vezes usado com funções de agregação, tais como AVG() COUNT() MAX() MIN() e SUM(). Neste caso, a função agregada retorna a informação sumária por grupo. Por exemplo, dado grupos de produtos em várias categorias, a função AVG() devolve o preço médio dos produtos em cada categoria.,

A seguir ilustra a sintaxe do Oracle GROUP BY cláusula:

GROUP BY cláusula aparece após o FROM cláusula., No caso de WHERE cláusula é apresentado, o GROUP BY cláusula deve ser colocado após o WHERE cláusula, conforme mostrado na seguinte consulta:

GROUP BY cláusula grupos de linhas por valores nas colunas de agrupamento, como c1 c2 e c3. A cláusula GROUP BY deve conter apenas agregados ou agrupar colunas.,

Se você desejar especificar vários níveis de agrupamento, que deve ser computado uma só vez, você pode usar o seguinte ROLLUP sintaxe:

por Favor, confira o ROLLUP tutorial para mais informações.,

Esta declaração tem o mesmo efeito que a seguinte instrução que usa o DISTINCT operador:

B) Oracle GRUPO com uma função de agregação exemplo

a instrução A seguir retorna o número de pedidos pelos clientes:

neste exemplo, nós agrupamos as encomendas por clientes e usado o COUNT() função para retornar o número de pedidos por grupo.,

Para obter mais significativo de dados, você pode juntar-se o orders tabela com customers tabela como a seguir:

Aqui está o resultado:

C) Oracle GRUPO com uma expressão de exemplo

O exemplo a seguir grupos de encomendas por ano e retorna o número de pedidos por ano.

neste exemplo, usamos a função EXTRACT() para obter a informação do ano a partir das datas da ordem.,

Ao contrário dos exemplos anteriores, usamos uma expressão que devolve o ano na cláusula GROUP BY.,A figura a seguir ilustra o resultado:

D) Oracle GRUPO com cláusula WHERE exemplo

Este exemplo usa o GROUP BY cláusula WHERE cláusula para retornar o número de pedidos enviados para cada cliente:

Aqui está o resultado:

Note que a Oracle sempre avalia a condição WHERE cláusula antes de GROUP BY cláusula.,

E) Oracle GRUPO com o pacote CUMULATIVO de exemplo

a instrução A seguir calcula o montante de vendas e agrupa-os por customer_id status e (customer_id status):

neste tutorial, você aprendeu como usar o Oracle GROUP BY cláusula de grupo de linhas em grupos.

  • este tutorial foi útil?
  • YesNo