Teria como eu fazer uma contagem de quantos Velhos, quantos jovens, e quantas crianças tem? Como?
Teria como eu fazer uma contagem de quantos Velhos, quantos jovens, e quantas crianças tem? Como?
usa count() e group by
Olá Marcos!
Como o Thiago falou, você deve usar o COUNT(*) juntamente com o GROUP BY, para realizar a contagem dos registro que atendam ao CASE, você pode executar o comando:
SELECT
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', count(*) AS TOTAL
FROM TABELA_DE_CLIENTES
GROUP BY 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
ORDER BY CLASSIFICACAO;
Seguinte a ideia que o professor apresentou no curso, você deverá ter como resultado:
+---------------+-------+
| CLASSIFICACAO | TOTAL |
+---------------+-------+
| CRIANCAS | 8 |
| JOVENS | 4 |
| VELHOS | 3 |
+---------------+-------+
Só uma observação, nesse SELECT só usamos apenas o CASE, e nenhum outro campo, caso contrário o resultado viria com 1 (no caso de colocarmos o NOME no SELECT) em cada registo.
Espero que tenha ajudado!
Obrigado, era exatamente isso que eu estava buscando!
Show de bola Marcus, seria interessante marcar esse tópico como solucionada, assim outros colegas que possam ter a mesma dúvida que você já vai ter a solução de maneira mais rápida!!