PDA

Ver la Versión Completa : agrupar por rango de edades


jzginez
13-01-2004, 20:41:56
hola a todos tengo una tabla con los siguientes datos:

Nombre, edad, sexo, si sufre de presión alta, si toma medicina, si a tenido alguna emergencia, si esta en tratamiento medico.

necesito agrupar esta tabla por rango de edades, cuando usa la centencia group by edad me agrupa por un solo valor es decir todos los que tienen 18 años, todos los que tienen 20, 30, 23... etc. lo que necesito es que me agrupo todos los que tienen entre 18 y 25, entre 26 y 40, etc. para poder sacar porcentages, alguien me puede decir como logro esto.

gracias

delphi.com.ar
13-01-2004, 21:19:25
Hay muchas formas de hacer esto, una forma puede ser hacer una función en la base que según una tabla te retorne un ID de grupo, entonces agruparas por el resultado de esta función.

O mismo podríamos hacer algo tan sencillo como esto:SELECT COUNT(*), R.DESCRIPCION
FROM PERSONAS P, RANGOS R
WHERE p.EDAD BETWEEN R.DESDE AND R.HASTA
GROUP BY R.ID
Suponiendo que tendríamos una tabla de rango similar a:CREATE TABLE RANGOS (
ID NUMBER,
DESCRIPCION VARCHAR,
DESDE NUMBER,
HASTA NUMBER
)


Datos de rangos tipo:

ID DESDE HASTA
1 0 18
2 19 21
3 22 30
4 31 40
5 41 60
6 61 Máximo Posible


Saludos!

jzginez
14-01-2004, 06:01:56
Gracias delphi.com.ar ya habia intentado lo de la tabla de rangos pero la diferencia es que intente mandar los valores del rango como parametros y no me funciono pero estoy seguro que como tu sugieres una consulta combinada si me da lo que busco.