Mesmo sem o Order by meu codigo retornou igual ao do professor,
SELECT strftime('%Y', data_venda) as Ano, count(id_venda) from vendas
GROUP by Ano;
precisa mesmo dessa linha?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Mesmo sem o Order by meu codigo retornou igual ao do professor,
SELECT strftime('%Y', data_venda) as Ano, count(id_venda) from vendas
GROUP by Ano;
precisa mesmo dessa linha?
Oi, Wellington, como vai?
No seu caso, o GROUP BY Ano já está fazendo o agrupamento dos registros, reunindo todas as vendas de 2020, depois as de 2021, 2022 e 2023. Por isso, o resultado pode aparecer igual ao do professor, principalmente porque o SQLite pode acabar retornando os grupos nessa mesma ordem.
A diferença é que o ORDER BY serve para deixar explícita a ordem em que queremos visualizar o resultado. Sem ele, você não deve depender da ordem apresentada pelo banco, porque ela não é uma garantia da consulta. Se amanhã a execução, o plano de consulta ou a base mudar, os registros podem aparecer em outra ordem. Então, mesmo que agora o resultado seja igual, o ORDER BY Ano é uma boa prática quando a intenção é ordenar os anos de forma crescente.
Continue participando do fórum, que estamos à disposição para ajudar nos próximos desafios.