O MySQL é um sistema gerenciador de banco de dados relacional amplamente utilizado. Duas cláusulas importantes para consultar e organizar dados em suas tabelas são GROUP BY
e ORDER BY
. Vamos explorar o que são e como utilizá-las.
A cláusula GROUP BY
é usada para agrupar registros com base em uma ou mais colunas e, geralmente, é acompanhada por funções de agregação, como COUNT, SUM, AVG, entre outras.
Exemplo:
Vamos supor que temos uma tabela Pedidos
e queremos saber quantos pedidos foram feitos para cada cliente.
SELECT cliente_id, COUNT(*) AS total_pedidos
FROM Pedidos
GROUP BY cliente_id;
Neste exemplo, estamos agrupando os registros na tabela Pedidos
pelo ID do cliente e contando quantos pedidos cada cliente fez.
A cláusula ORDER BY
é usada para classificar os resultados de uma consulta em uma ordem específica. Você pode ordenar os resultados por uma ou mais colunas, em ordem ascendente (ASC) ou descendente (DESC).
Exemplo:
Continuando com a tabela Pedidos
, agora queremos listar os pedidos dos clientes em ordem decrescente de valor.
SELECT *
FROM Pedidos
ORDER BY valor_total DESC;
Neste exemplo, estamos selecionando todos os campos da tabela Pedidos
e ordenando os resultados pela coluna valor_total
em ordem descendente.
Você também pode combinar ambas as cláusulas para realizar análises mais complexas e classificar os resultados de acordo com os grupos criados pelo GROUP BY
.
Exemplo:
Vamos considerar a tabela Vendas
e queremos saber a receita total de vendas por produto, listando do produto mais lucrativo ao menos lucrativo.
SELECT produto_id, SUM(valor) AS receita_total
FROM Vendas
GROUP BY produto_id
ORDER BY receita_total DESC;
Neste exemplo, estamos agrupando as vendas por produto_id
, calculando a soma dos valores de cada grupo e, em seguida, ordenando os resultados em ordem decrescente de receita.
Lembrete: No final de qualquer consulta, você pode adicionar ASC
(ascendente) ou DESC
(descendente) após o nome da coluna no ORDER BY
, para definir a direção da classificação. Por padrão, é ascendente.