Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Agrupar no por un valor de un campo sino por grupos de valores del mismo

Estas en el tema de Agrupar no por un valor de un campo sino por grupos de valores del mismo en el foro de Bases de Datos General en Foros del Web. Imaginad que tenemos una tabla en la que en un campo sale la fecha de inserción del registro. E imaginad que queremos realizar una cuenta, ...
  #1 (permalink)  
Antiguo 19/07/2007, 11:47
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años
Puntos: 1
Agrupar no por un valor de un campo sino por grupos de valores del mismo

Imaginad que tenemos una tabla en la que en un campo sale la fecha de inserción del registro. E imaginad que queremos realizar una cuenta, agrupada por determinados intervalos de fecha.

Es decir, que la condición sería "WHERE CAMPO_FECHA BETWEEN '01/01/2003 AND 01/03/2003' OR CAMPO_FECHA BETWEEN '06/08/2004' AND '06/09/2004'.

(he puesto unos intervalos de fiesta cualquiera).

Pues bien, ¿¿cómo se agruparía por dichos intervalos?? Lo he intentado con "group by" y having, pero en el group by siempre tengo que poner campos, no puedo poner condiciones (a las que luego habría que dar un nombre, claro).


Si alguien se ha liado, más fácil:

Imaginad que en una columna tenemos un campo numérico, como podría ser una edad, y queremos arrojar los resultados de realizar el contado de valores que hay para grupos de valores del campo (entre 1 y 10, entre 15 y 20, y entre 21 y 35), y al final a cada grupo ponerle un nombre (por ejemplo "infante", "joven", "adulto").

¿Es posible realizarlo? Quizás la clave esté en usar union, y no group by, acabo de pensar.
  #2 (permalink)  
Antiguo 19/07/2007, 11:52
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años
Puntos: 1
Re: Agrupar no por un valor de un campo sino por grupos de valores del mismo

¡Efectivamente, así era! Con UNION.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.