Importante

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!

1
resposta

[Dúvida] Duvida sobre codigo

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?

1 resposta

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.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!