1
resposta

Como faço para saber a quantidade de Adulto, Jovem e Criança no código abaixo?

Como faço para saber a quantidade de Adulto, Jovem e Criança no código abaixo?

select [NOME],
case 
    when year([DATA DE NASCIMENTO]) < 1990 then 'Adulto'
    when year([DATA DE NASCIMENTO]) between 1990 and 1995 then 'Jovem'
    else 'Criança' end as [Classificação Etária]
 from [TABELA DE CLIENTES]
1 resposta

Há varias formas de fazer isso, mas utilizando o próprio "Case when" que você já está usando você consegue fazer. segue codigo: Basta validar se a condição é true, caso seja bote 1, else 0. desta forma basta adicionar o SUM para somar

select 
    SUM(case 
    when year([DATA DE NASCIMENTO]) < 1990 then 1
    else 0 END)
        as SOMATORIA_ADULTO,

    SUM(case 
    when year([DATA DE NASCIMENTO]) between 1990 and 1995 then 1
    else 0 END)
        as SOMATORIA_JOVEM,

    SUM(case 
    when year([DATA DE NASCIMENTO]) > 1995 then 1
    else 0 END)
        as SOMATORIA_CRIANCA


 from TABELA_DE_CLIENTES