Buscar dados que mais aparecem juntos no banco - MySQL
10/02/2017
0
Bom pessoal, minha dúvida é o seguinte, eu tenho 3 tabelas no meu banco, Produto, Compra e produtoCompra, e queria saber como eu consigo encontrar quais produtos mais vezes formaram uma dupla em uma compra.
Por exemplo, eu queria saber quantas vezes meus produtos Banana e Maçã apareceram na mesma compra, como sou iniciante, fiz a consulta dessa forma e não sei se é o mais apropriado:
(O nome da chave primária da minha tabela compra é 'numero')
Mas agora eu não quero saber só a quantidade de vezes que maçã e banana apareceram juntas, mas sim quais produtos mais apareceram juntos (duplas) e qual a quantidade de vezes isso ocorreu.
Ps: Não sei se fui claro, mas agradeço a atenção
Por exemplo, eu queria saber quantas vezes meus produtos Banana e Maçã apareceram na mesma compra, como sou iniciante, fiz a consulta dessa forma e não sei se é o mais apropriado:
(O nome da chave primária da minha tabela compra é 'numero')
/*SELECIONANDO A QNTD DE VEZES QUE MAÇÃ E BANANA APARECERAM JUNTAS EM UMA MESMA COMPRA*/ select count(numero) as Qntd from Compra where numero IN( /*AQUI EU DESCUBRO EM QUAIS COMPRAS BANANA E MAÇÃ APARECEM JUNTAS*/ /*DADOS BUSCADOS*/ SELECT compra.numero /*LOCAL DE BUSCA*/ FROM compra, produto, produtoCompra /*LIGANDO AS TABELAS*/ WHERE produtoCompra.codProduto=produto.codigo AND produtocompra.numCompra = compra.numero /*ESPECIFICANDO OS DADOS*/ AND produto.nome IN(SELECT nome FROM produto WHERE nome="Maçã" OR nome="Banana") GROUP BY(compra.numero) HAVING COUNT(compra.numero)>1);
Mas agora eu não quero saber só a quantidade de vezes que maçã e banana apareceram juntas, mas sim quais produtos mais apareceram juntos (duplas) e qual a quantidade de vezes isso ocorreu.
Ps: Não sei se fui claro, mas agradeço a atenção
Lucas Gomes
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)