Select Com Faixa de Idades

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qui, 22 Jun 2006 11:04 am

Tenho um select que retorna:

Código: Selecionar todos
select idade,count(*)
from cliente
group by idade
IDADE    COUNT(*)
10   2
15   5
17   6
20   1
22   5
32   2


Gostaria que ele retornasse
IDADE COUNT(*)
10..20 14
21..35 7

Sem utilizar nenhuma tabela de faixas

Isto é possível utilizando algum tipo de group by ou outro método?
Spectreman
Localização: Tóquio

DOMINANTES, ÀS ORDENS!

Mensagemem Qui, 22 Jun 2006 2:01 pm

Fiz assim deu certo

Código: Selecionar todos
SELECT
SEXO,
(CASE
WHEN idade BETWEEN 0  AND 15 THEN ' 0 a 15 '
WHEN idade BETWEEN 16 AND 20 THEN ' 16 - 20 '
WHEN idade BETWEEN 21 AND 35 THEN ' 21 - 35 '
WHEN idade BETWEEN 36 AND 49 THEN ' 36 - 49 '
ELSE
   ' ACIMA DE 50 '
END)
AS BUCKET,
SUM(QUANT) AS TOTAL
FROM X
GROUP BY SEXO,
(CASE
WHEN idade BETWEEN 0  AND 15 THEN ' 0 a 15 '
WHEN idade BETWEEN 16 AND 20 THEN ' 16 - 20 '
WHEN idade BETWEEN 21 AND 35 THEN ' 21 - 35 '
WHEN idade BETWEEN 36 AND 49 THEN ' 36 - 49 '
ELSE
   ' ACIMA DE 50 '
END)
Spectreman
Localização: Tóquio

DOMINANTES, ÀS ORDENS!


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes