1
resposta

Ainda em dúvida sobre Group By

Boa tarde, preciso tirar uma dúvida sobre Group By.

Minha dúvida não fora sanada, apesar do colega de classe ter tentado me ajudar (muito obriado btw).

Para que serve o Group By, pq tenho que declarar uma coluna no começo, após o SELECT e ao final precisar mencionar de novo utilizando o Group By?

1 resposta

Oi, Vitor! Tudo bem?

Desde já, peço desculpas pela demora em retornar.

A cláusula GROUP BY é utilizada para realizar agrupamentos de informações levando em consideração uma característica comum entre elas.

Para uma melhor compreensão, imagine o seguinte caso: uma loja de calçados possui um banco de dados para organizar suas vendas. Certo dia, um dos funcionários resolveu verificar a quantidade de produtos no estoque a partir da sua categoria (tênis, sandália, bota, chinelo, etc). Para isso, ele realizou a seguinte seleção:

SELECT categoria, COUNT(*) FROM sapatos GROUP BY categoria;

O agrupamento dos sapatos será feito através do COUNT(*), que irá realizar a contagem, e GROUP BY categoria, que ira indicar qual será o critério de agrupamento para realização dessa contagem.

Além disso, a partir do código acima, você pôde perceber que há duas ocorrências de categoria:

  • Na primeira, estamos indicando que categoria será uma das colunas da visualização do SELECT. Esta parte não é obrigatória, elas apenas nos ajudará a enxergar os registros da nossa tabela original;
  • Na segunda, categoria é utilizada como critério de agrupamento. Nesse caso, como queremos organizar os sapatos a partir do seu tipo, é necessário indicar que tal organização será feito através do campo categoria.

Vitor, espero ter ajudado! Caso tenha interesse em saber um pouco mais sobre o GROUP BY, estou deixando um artigo da Alura que comenta sobre seu funcionamento:

Caso surjam novas dúvidas, fico à disposição.

Um forte abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software