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!
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!
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!