consulta x rango de edades

28/06/2004 - 19:59 por Marcos | Informe spam
Gente:
Tengo el siguiente problema, tengo una tabla con la fecha de nacimiento
, con la que no tengo problema uso el datediff y devuelvo la edad, pero el
tema es que tengo que contar las ocurrencias por rango de edad:

Edad - Cantidad
0-10
11-20
21-30
31-40
41-50
51-60
61-70
71-80
mas de 80

Muchas Gracias?

Preguntas similare

Leer las respuestas

#1 Liliana Sorrentino
28/06/2004 - 20:25 | Informe spam
Hola Marcos,
Suponiendo que tenés entonces una función para calcular la edad, podrías
hacer por ejemplo:

SELECT '0-10', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 0
AND 10 THEN 1 END),
'11-20', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 11 AND
20 THEN 1 END),
'21-30', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 21 AND
30 THEN 1 END),
'31-40', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 31 AND
40 THEN 1 END),
'41-50', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 41 AND
50 THEN 1 END)
FROM tabla

Saludos... Liliana.

"Marcos" escribió en el mensaje
news:
Gente:
Tengo el siguiente problema, tengo una tabla con la fecha de


nacimiento
, con la que no tengo problema uso el datediff y devuelvo la edad, pero el
tema es que tengo que contar las ocurrencias por rango de edad:

Edad - Cantidad
0-10
11-20
21-30
31-40
41-50
51-60
61-70
71-80
mas de 80

Muchas Gracias?


Respuesta Responder a este mensaje
#2 poker
28/06/2004 - 22:32 | Informe spam
Dos ideas:
SELECT (EDAD/10)*10, COUNT(*)
FROM EDADES
GROUP BY (EDAD/10)*10
SELECT '0 <= EDAD < 10' AS RANGO, COUNT(*)
FROM EDADES
WHERE EDAD < 10
UNION
SELECT '10 <= EDAD < 20' AS RANGO, COUNT(*)
FROM EDADES
WHERE EDAD >= 10 AND EDAD <20
ORDER BY RANGO

"Marcos" escribió en el mensaje
news:
Gente:
Tengo el siguiente problema, tengo una tabla con la fecha de


nacimiento
, con la que no tengo problema uso el datediff y devuelvo la edad, pero el
tema es que tengo que contar las ocurrencias por rango de edad:

Edad - Cantidad
0-10
11-20
21-30
31-40
41-50
51-60
61-70
71-80
mas de 80

Muchas Gracias?


Respuesta Responder a este mensaje
#3 Marcos
30/06/2004 - 00:28 | Informe spam
Gracias Liliana, funciono barbaro y ademas aprendi a usar 'case' que no lo
sabia.
:)

"Liliana Sorrentino" escribió en el mensaje
news:
Hola Marcos,
Suponiendo que tenés entonces una función para calcular la edad, podrías
hacer por ejemplo:

SELECT '0-10', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN


0
AND 10 THEN 1 END),
'11-20', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 11 AND
20 THEN 1 END),
'21-30', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 21 AND
30 THEN 1 END),
'31-40', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 31 AND
40 THEN 1 END),
'41-50', SUM(CASE WHEN calcularedad(nacimiento, getdate()) BETWEEN 41 AND
50 THEN 1 END)
FROM tabla

Saludos... Liliana.

"Marcos" escribió en el mensaje
news:
> Gente:
> Tengo el siguiente problema, tengo una tabla con la fecha de
nacimiento
> , con la que no tengo problema uso el datediff y devuelvo la edad, pero


el
> tema es que tengo que contar las ocurrencias por rango de edad:
>
> Edad - Cantidad
> 0-10
> 11-20
> 21-30
> 31-40
> 41-50
> 51-60
> 61-70
> 71-80
> mas de 80
>
> Muchas Gracias?
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida