select c.nome, count(p.id) as quantidade_pedidos, SUM(ip.precounitario) as valor_total
from pedidos p
join clientes c on p.idcliente = c.id
join itenspedidos ip on p.id = ip.idpedido
group by c.nome
order by c.nome
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
select c.nome, count(p.id) as quantidade_pedidos, SUM(ip.precounitario) as valor_total
from pedidos p
join clientes c on p.idcliente = c.id
join itenspedidos ip on p.id = ip.idpedido
group by c.nome
order by c.nome
Olá, Vinicius! Como vai?
Parabéns pela resolução da atividade!
Observei que você explorou o uso de JOIN para relacionar tabelas, utilizou muito bem funções de agregação como COUNT e SUM para gerar métricas relevantes e ainda compreendeu a importância de GROUP BY e ORDER BY para organizar os resultados de forma clara.
Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.
Uma dica interessante para o futuro é incluir o GROUP BY também pelo c.id, garantindo maior consistência caso existam clientes com nomes iguais. Assim:
SELECT c.id, c.nome,
COUNT(p.id) AS quantidade_pedidos,
SUM(ip.precounitario) AS valor_total
FROM pedidos p
JOIN clientes c ON p.idcliente = c.id
JOIN itenspedidos ip ON p.id = ip.idpedido
GROUP BY c.id, c.nome
ORDER BY c.nome;
Isso faz com que o relatório seja mais robusto e evite duplicidades nos resultados.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!