Mostrando entradas con la etiqueta calculo de edad. Mostrar todas las entradas
Mostrando entradas con la etiqueta calculo de edad. Mostrar todas las entradas

viernes, 16 de julio de 2010

PostgreSQL: Calcular la edad y obtener el grupo etario

Esta consulta es util si lo que se desa obtener es la edad de las personas registradas, ademas obtener el grupo etario al cual pertenecen.. Una consulta muy util si se desea realizar estadisticas por grupo etario..

select count(*),
/*substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int as edad, --Descomentar si deseas la edad de las personas*/
case
when substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int between 0 and 12
then '1-. INFANTE (0-12)'
when substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int between 13 and 17
then '2-. ADOLESCENTE (13-17)'
when substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int between 18 and 28
then '3-. JOVEN (18-28)'
when substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int between 29 and 35
then '4-. ADULTO JOVEN (29-35)'
when substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int between 36 and 59
then '5-. ADULTO (36-59)'
when substring(age(now(),p.f_nacimiento)::text from 1 for 2)::int >= 60
then '6-. ADULTO MAYOR (60 o mas)'
end AS grupo_etario
from persona p
group by grupo_etario /*,edad --Descomentar si deseas la edad de las personas*/
order by grupo_etario