PHP - Columnas por mes en mysql

   
Vista:

Columnas por mes en mysql

Publicado por Alexis Rebolledo (3 intervenciones) el 16/03/2015 21:20:38
Estimados,

Me estoy volviendo loco y espero ud me puedan ayudar. Debo realizar una consulta a una tabla en mysql, la cual tiene un campo fecha, un campo id_user , y una serie de campos mas. Lo que necesito hacer es que la consulta cuente las entradas por usuarios y muestre esto por columnas por mes. Espero haber explicado claramente y puedan ayudarme.Gracias.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Columnas por mes en mysql

Publicado por Gonzalo (339 intervenciones) el 16/03/2015 22:13:35
lo que se me ocurre es hacer algo parecido a un libro de visitas.

hay bastantes ejemplos disponibles en google, espero te sea de ayuda.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Columnas por mes en mysql

Publicado por eyanez (31 intervenciones) el 17/03/2015 16:51:57
No si te entendi bien,

Tabla1
user_id
fecha
campo1.... campo99

Tienes
user_id fecha
1 2015-03-01
2 2015-03-02
1 2015-03-03

Si lo que quieres saber es la cantidad de veces que apareces el usuario es lo siguiente
select user_id, count(user_id) as cant_entradas from tabla1 where fecha beetwen '2015-03-01' and '2015-03-10'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Columnas por mes en mysql

Publicado por Alexis Rebolledo (3 intervenciones) el 17/03/2015 17:01:29
Gracias por responder. El contar los registros por usuario, conozco como realizar esto, el tema que debo contarlos por mes, y estos meses deben aparecer como columnas, es decir :

ID | ENERO | FEBRERO | MARZO | ABRIL
1 | 34 | 23 | 56 | 12
2 | 21 | 20 | 18 | 5

Ese es mi problema no he logrado realizar las columnas hacia el costado , hacia la derecha

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Columnas por mes en mysql

Publicado por Rafael (37 intervenciones) el 17/03/2015 17:18:53
Pues como no ponemos nada mas que datos incompletos y tenemos que adivinar mucho ...

Espero te sirva esto que seria una idea para hacer la consulta por columnas..

Saludos
1
2
3
4
5
6
7
8
SELECT
SUM(CASE WHEN DATEPART('month', fecha)=1 THEN 1 ELSE 0 END) AS ENERO,
SUM(CASE WHEN DATEPART('month', fecha)=2 THEN 1 ELSE 0 END) AS FEBRERO,
SUM(CASE WHEN DATEPART('month', fecha)=3 THEN 1 ELSE 0 END) AS MARZO,
...
...
SUM(CASE WHEN DATEPART('month', fecha)=12 THEN 1 ELSE 0 END) AS DICIEMBRE
FROM TABLA;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Columnas por mes en mysql

Publicado por Gonzalo (339 intervenciones) el 17/03/2015 17:46:15
tambien puedes usar el count

select
datepart('year',fecha), as year,
datepart('month',Fecha), as Month,
count(fecha) as visitas
from tabla
group by datepart('year',fecha),datepart('month',Fecha)
order by datepart('year',fecha),datepart('month',Fecha)

te debe dar
2015,1,10 //estas son 10 visitas en enero del 2015
2015,2,10 //estas son 10 visitas en febrero del 2015
2015,3,10 //estas son 10 visitas en marzo del 2015
etc

de abril en adelante deberan ser 0 visitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Columnas por mes en mysql

Publicado por eyanez (31 intervenciones) el 17/03/2015 22:12:55
Ok no hay como hacerlo directamente, pero no es que no se pueda hacer,

En un procedmiento almacenado
Haz un cursor con un sql y obtienes los meses
Haz una tabla temporary con los campos (meses) que agregados dinamicamente
Luego haz un cursor con los datos y rellena la tabla
Luego ejecutas el select y obtienes los datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar