Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2007, 11:47
programadornet
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años, 7 meses
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.