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

Mostrar registros por años, meses, trimestres, semanas segun rango de fechas

Estas en el tema de Mostrar registros por años, meses, trimestres, semanas segun rango de fechas en el foro de Mysql en Foros del Web. Hola, tengo un problema... les explico... Tengo una tabla historial donde se tiene lo siguiente: Idhistorial Fecha Tipo --> ( A lta o B aja) ...
  #1 (permalink)  
Antiguo 25/12/2012, 23:44
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 9 meses
Puntos: 11
Pregunta Mostrar registros por años, meses, trimestres, semanas segun rango de fechas

Hola, tengo un problema... les explico...

Tengo una tabla historial donde se tiene lo siguiente:

Idhistorial
Fecha
Tipo --> (Alta o Baja)
Idusuario

Bien, lo que deseo es sacar una consulta por ejemplo por meses según el rango dado...

.....where fecha>'2000/01/12' and fecha>'2012/08/18' and Tipo = 'A'


Quiero que muestre asi:

- Enero 2000, 20 usuarios
- Febrero 2000, 10 usuarios
..........
- Agosto 2012, 4 usuarios

y bueno po años

2000, 582 usuarios
........
2012, 248 usuarios


o por semestres, trimestres...


Alguna idea?

Saludos y gracias,
  #2 (permalink)  
Antiguo 26/12/2012, 05:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mostrar registros por años, meses, trimestres, semanas segun rango de fech

La primera idea es que esto no tiene mucho sentido:
Código MySQL:
Ver original
  1. where fecha>'2000/01/12' and fecha>'2012/08/18' and Tipo = 'A'
Si fecha es mayor a 18/08/2012, también es mayor a 12/01/2000. El primer parámetro es redundante y se ignora.
Esto sería lo que realmente debería escribirse:
Código MySQL:
Ver original
  1. where fecha>'2012/08/18' and Tipo = 'A'

Por otro lado, en cuanto a tu problema, en realidad es muy sencillo, porque lo que se hacen son sumatorias agrupadas en base a año y mes, o a trimestres, cuatrimestres, semestres o años. O bien se hacen sobre periodos determinados.
El único problema es que estamos hablando de consultas diferentes para cada caso porque los criterios de selección o de agrupamiento no coinciden. Si bien no es imposible hacer una consulta que devuelva un reporte de criterios múltiples, no es algo que aconsejaría a alguien que recién se inicia, o que no domina el GROUP BY o el GROUP BY .... WITH ROLLUP.
En primer lugar yo te diría que trates de definir una lista de los diferentes criterios que necesitas sumar y agrupar, para luego ver cómo se los puede integrar en la menor cantidad de consultas posibles.
En el aire, la solución puede ser equivocada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: meses, rango, registros, semanas, tabla
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 20:10.