Pessoal, o meu resultado veios apenas 2 registros:
Pessoal, o meu resultado veios apenas 2 registros:
Olá, Adriano! Tudo bem?
Pode ficar tranquilo, o seu código está perfeitamente correto! A lógica que você construiu usando as CTEs e o CROSS JOIN é exatamente a ideal para resolver esse problema de comparação com a média.
O motivo de você estar vendo um resultado diferente do vídeo do instrutor não é um erro no seu SQL, mas sim a passagem do tempo.
current_date()current_date() retornou a data daquele ano (provavelmente 2023 ou 2024). Hoje, estamos em maio de 2026.TIMESTAMPDIFF(YEAR, ...) calcula a idade baseada na data de hoje, todos os clientes da tabela_clientes envelheceram desde a gravação do curso.media_idade e muda as posições de quem está um pouco abaixo ou um pouco acima da linha de corte, resultando em uma quantidade diferente de registros.Se você quiser visualizar exatamente a mesma tabela que apareceu na aula, você precisa fazer uma pequena "viagem no tempo" no seu código. Basta substituir a função current_date() por uma data fixa (uma string com a data aproximada da gravação).
Por exemplo:
SELECT id_cliente, Nome, TIMESTAMPDIFF(YEAR, DataNascimento, '2023-01-01') as Idade
De toda forma, para o seu aprendizado, o que importa é a estrutura da consulta. O seu domínio sobre o uso do WITH para separar as lógicas e depois cruzá-las no SELECT final está excelente. Parabéns pela prática!