SQL - MySQL - Produtos mais vendidos em um certo período [RESOLVIDO]
5 respostas
mysqlphpsql
FellipeBotelho
Pessoal, tenho as seguintes tabelas:
itens_pedido:
pedido:
e produto:
E gostaria de fazer uma consulta que me retornasse os cinco produtos mais vendidos em um certo intervalo de tempo, mas não consegui pensar em uma forma efetiva de fazer isso. Alguém consegue me dar uma luz?
Seleciona todos os pedidos que ocorreram em um certo período de tempo, juntamente (Join) com os respectivos ids dos produtos;
Agrupa pelo id dos produtos, e coloca um count pra ver quantos de cada produto tem;
ORDER BY invertido (desc) pra mostrar os que têm mais no topo;
LIMIT pra pegar só 5.
Se você fizer isso, vai ter os ids dos 5 produtos mais vendidos em um período de tempo. Se quiser mais informações sobre eles, só fazer outro select, que utiliza toda essa query que você montou como subquery.
Isso deve te dar os ids dos 5 produtos mais pedidos durante o intervalo de tempo. Você pode utilizar essa query como subquery para outra query, para obter todos os produtos que tem o id dentro da coluna de ids retornado por essa query ali.
lvbarbosa1 like
Vi agora, hahahaha mandei uma pra ajudar, mas acho que não vai precisar.