Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/12/2011, 11:42
william1802
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 12 años, 4 meses
Puntos: 0
Desacuerdo Respuesta: Agrupar por Rango de Edades

Grande Matanga!!!
Usando tu logica se puede lograr la consulta agrupando muy bien los rangos. Lo habia estado trabajado tambien con CASE para crear los rangos y al agruparlos se me complicaba haciendo muuuuuy largo el query.

Ahora puedo incluir el BETWEEN para simplificarlo. Utilize ademas el comando FLOOR para aproximar la edad pero no es exacta, existe un comando para calcular la edad Real???
Gracias Nuevamente

Saludos. de Peru :D

SELECT
y.edad, COUNT(*) AS cantidad
FROM (
SELECT
(CASE x.age
WHEN 0 THEN '00_09'
WHEN 1 THEN '00_09'
WHEN 2 THEN '00_09'
WHEN 3 THEN '00_09'
(etc...)
WHEN 99 THEN '90_99'

ELSE 'OTROS'
END
) AS EDAD
FROM (
select
e.cod_socio,
e.fec_nacimiento,
to_date(sysdate) as today,
floor((to_date(sysdate)-to_date(e.fec_nacimiento))/365) as age
from soc_socio e
where e.cod_empresa = '001'
and e.cod_sucursal = '003'
and e.tip_estado IN ('A','C','S')
and e.fec_nacimiento >= '01-jan-1950'
order by 4 asc
) x
)y

GROUP BY y.edad
order by 1