SELECT NOME, CASE WHEN YEAR (DATA_DE_NASCIMENTO ) < 1990 THEN "VELHOS" WHEN YEAR (DATA_DE_NASCIMENTO) > 1990 AND YEAR(DATA_DE_NASCIMENTO) < 1995 THEN "JOVENS" ELSE "CRIANCAS" END AS 'CLASSIFICACAO' FROM TABELA_DE_CLIENTES GROUP BY CLASSIFICACAO;
SELECT NOME, CASE WHEN YEAR (DATA_DE_NASCIMENTO ) < 1990 THEN "VELHOS" WHEN YEAR (DATA_DE_NASCIMENTO) > 1990 AND YEAR(DATA_DE_NASCIMENTO) < 1995 THEN "JOVENS" ELSE "CRIANCAS" END AS 'CLASSIFICACAO' FROM TABELA_DE_CLIENTES ORDER BY CLASSIFICACAO;
Fiz esses dois códigos para resolver o exercício e entender a diferença das saídas, todavia, nao compreendi ao certo o processamento deles. Pelo que pude averiguar, o GROUP BY pegou o primeiro elemento que aparecia em cada tabela enquanto o ORDER pegou todos os elementos e os ordenou após a classificação. Minha dúvida é: (1)pq o GROUP BY não agrupou os elementos conforme as condições do case que passei e defini como " CLASSIFICACAO" mas, sim, pegou o primeiro elemento somente de cada condição? Entendo que fazer isso possa ser mais demorado, mas não é a ideia de agrupar?; (2) Pq o ORDER BY cria uma ordem dentro dos elementos aparentemente aleatória? Digo, ele não segue a ordem dos elementos conforme estão na tabela e também não segue a ordem alfabética.
Saídas: GROUP BY
+-----------------+---------------+
| NOME | CLASSIFICACAO |
+-----------------+---------------+
| Érica Carvalho | CRIANCAS |
| Eduardo Jorge | JOVENS |
| Gabriel Araujo | VELHOS |
+-----------------+---------------+
ORDER BY:
+---------------------+---------------+
| NOME | CLASSIFICACAO |
+---------------------+---------------+
| Érica Carvalho | CRIANCAS |
| Fernando Cavalcante | CRIANCAS |
| César Teixeira | CRIANCAS |
| Marcos Nougeuira | CRIANCAS |
| Edson Meilelles | CRIANCAS |
| Abel Silva | CRIANCAS |
| Petra Oliveira | CRIANCAS |
| Valdeci da Silva | CRIANCAS |
| Marcelo Mattos | JOVENS |
| Paulo César Mattos | JOVENS |
| Eduardo Jorge | JOVENS |
| Fábio Carvalho | JOVENS |
| Gabriel Araujo | VELHOS |
| Carlos Eduardo | VELHOS |
| Walber Lontra | VELHOS |
+---------------------+---------------+