Tenho tabela1 com 2 IDs e 2 valores por ID (Y,N). Posso contar os valores pela seguinte consulta:
select id
,count(*) as "total"
,choice
from table1
where id in (1,8)
group by id, choice
Eu obtenho os seguintes resultados:
eu ia | total | escolha |
---|---|---|
1 | 55 | N |
1 | 17 | S |
8 | 319 | N |
8 | 123 | S |
Existe uma maneira de escrever uma consulta que me forneça as porcentagens de cada valor (Y,N) para cada ID?
(id1: 55/55+17 (N), 17/55+17 (Y), etc.)
Resultado desejado:
eu ia | total | escolha | por cento |
---|---|---|---|
1 | 55 | N | 0,236 |
1 | 17 | S | 0,764 |
8 | 319 | N | 0,7222 |
8 | 123 | S | 0,278 |
Eu ainda precisaria usar count(*) na consulta?
Use uma janela
sum
sobre o agregadocount