1
resposta

Porque agrupou os campos?

Não precisa agrupar e usar o HAVING, ele funciona tambem dessa forma:

SELECT nome, preco from produtos where preco > (SELECT ROUND(AVG(preco),2) from produtos);

 retorna até os com preços duplicados perfeitamente!
1 resposta

Olá, Leonardo, tudo bem?

A consulta que você compartilhou realmente funciona e é uma maneira válida. Mas destaco que o uso do GROUP BY e HAVING na aula tem um propósito didático, para mostrar como esses comandos funcionam e quando podem ser úteis.

O comando GROUP BY é usado para agrupar as linhas que têm os mesmos valores em colunas especificadas em grupos. Já o comando HAVING é usado para filtrar os resultados do GROUP BY, semelhante ao que WHERE faz com SELECT. No entanto, HAVING trabalha com resultados agregados (ou seja, resultados de funções como COUNT, AVG, SUM, etc.), enquanto WHERE trabalha com linhas individuais.

De toda forma, agradecemos por compartilhar essa possibilidade, pois poderá ajudar a contribuir nos conhecimentos de outros alunos.

Espero ter esclarecido.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!