2
respostas

Eu não entendi algo da aula

como funciona na hora de agrupar os resultados usando duas colunas diferentes? ex:


select SABOR, min(PRECO_DE_LISTA) as menor_preço, NOME_DO_PRODUTO from tabela_de_produtos 
WHERE SABOR LIKE "%Limão%"
group by SABOR, NOME_DO_PRODUTO
2 respostas

Olá Caio,

Não sei se entendi muito bem sua pergunta, mas quando você usa uma função para fazer cálculos e especifica 2 colunas (caso da sua query), o banco irá retornar o resultado do cálculo para os dados, separados por todos os valores encontrados nas colunas especificadas.

Usando o exemplo da sua query, o resulta que será retornado é o valor mínino dos produtos, para cada tipo de SABOR e NOME_DO_PRODUTO

Abs

Olá Caio, tudo bem? Acho que posso contribuir com o Fabio aqui. Bem quando você usa o GROUP BY, então os valores serão agrupadas pela coluna que você indicar, no caso, você colocou a primeira colocar como SABOR então, supondo que você tem os sucos, sabores e o valor:

  • Suco de Manga - Manga - 5,00
  • Suco de Manga - Limão - 4,00
  • Suco de Manga - Manga - 4,50
  • Suco de Manga com Limão - Manga e Limão - 7,00

Ele vai agrupar e vai retornar o menor valor do grupo, então o resultado deve ser como:

  • Suco de Manga - Manga - 4,50
  • Suco de Manga - Limão - 4,00
  • Suco de Manga com Limão - Manga e Limão - 7,00

E como você indicou a outra coluna, ai ele vai agrupar de acordo com a segunda coluna NOME_DO_PRODUTO e agora ele vai agrupar pelo nome NOME_DO_PRODUTO, porém nesse caso não vai fazer diferença porque os nomes são semelhantes e já foram agrupados pelo sabor. Mais essa é a ideia, agrupa pelo sabor, depois pelo nome ou outro campo da sua escolha.

Espero ter ajudado!