Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Contagem de Velho, Jovem e Criança.

Teria como eu fazer uma contagem de quantos Velhos, quantos jovens, e quantas crianças tem? Como?

4 respostas

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!

solução!

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!!