Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2008, 18:56
decklord
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Exclamación Ayuda con consulta compleja (eficiencia)

Hola tengo el siguiente problema a ver si me ayudan con ideas.

Tengo una tabla que almacena eventos con la fecha de ocurrencia (año,mes,dia, hora,min, seg), además estos eventos tienen diferentes categorías (A,B,C,D,E,F, etc.). La estructura de la tabla podría ser (esto es una simplificación del problema real) :

Eventos:
id_evento
fecha_evento
categoria_evento

Ahora bien, necesito retornar una tabla que contenga la cantidad de eventos de las diferentes categorias en intervalos de fechas ( dia, mes, año,etc) entre dos fechas. Por ejemplo intervalos de a un mes entre el 2007 y 2008. Esto seria Enero-Febrero, Febrero-Marzo, Marzo-Abril.... Diciembre-Enero.

Una idea de la tabla seria

Enero-Febrero Febrero-Marzo Marzo-Abril .... Diciembre-Enero
A 20 21 30 12
B 46 14 ...
C 23 17 ...
D 0 16 ...
...

En estos momentos estoy realizando una consulta por cada celda, es decir, hago count de los eventos que estan entre enero y febrero cuya categoria es A. El problema es que la tabla esta densamente poblada por lo que completar todas las celdas toma varios segundos.

Existe alguna forma de generar la tabla con sql directamente? o disminuir al minimo posible la cantidad de consultas?

Última edición por decklord; 21/07/2008 a las 19:05