Escreva o códigoDesafioSQL
Formas fortes na venda de cerveja
Achar formas de pagamento com venda recorrente de cerveja.
Da tabela pedidos, considere só linhas cujo produto contém cerveja. Agrupe por forma_pagamento e devolva forma_pagamento e a contagem de pedidos nessa ordem. Fique só com grupos com mais de 1 pedido e ordene da maior para a menor contagem.
Revisa aula 14 (10/09), aula 12 (31/08)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT forma_pagamento, COUNT(*) FROM pedidos WHERE produto LIKE '%cerveja%' GROUP BY forma_pagamento HAVING COUNT(*) > 1 ORDER BY COUNT(*) DESC;O WHERE com LIKE seleciona só produtos com cerveja antes de agrupar. O GROUP BY com COUNT resume cada forma_pagamento. O HAVING filtra grupos com mais de 1 pedido e o ORDER BY ordena pela contagem.
Erro comum: Usar WHERE em vez de HAVING para filtrar a contagem do grupo.
Tabelas
pedidos 10 linhas
| id | produto | forma_pagamento | valor | cidade |
|---|---|---|---|---|
| 1 | cerveja pilsen | PIX | 12.5 | Sao Paulo |
| 2 | cerveja ipa | dinheiro | 18 | Rio de Janeiro |
| 3 | suco laranja | cartao | 9 | Sao Paulo |
| 4 | cerveja stout | PIX | 22 | Belo Horizonte |
| 5 | agua mineral | dinheiro | 4.5 | Sao Paulo |
| 6 | refrigerante cola | boleto | 7 | Rio de Janeiro |
| 7 | cerveja pilsen | cartao | 12.5 | Sao Paulo |
| 8 | suco laranja | PIX | 9 | Curitiba |
| 9 | vinho tinto | NULL | 35 | Sao Paulo |
| 10 | cerveja ipa | PIX | 18 | Sao Paulo |
Escreva sua solução e verifique quando quiser.