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

agrupar por mes y año

Estas en el tema de agrupar por mes y año en el foro de Mysql en Foros del Web. hola: estoy armando un blog y quiero hacer un "archivo de post" al mejor estilo wordpress en el cual se muestre el año y los ...
  #1 (permalink)  
Antiguo 03/04/2008, 14:30
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
agrupar por mes y año

hola:
estoy armando un blog y quiero hacer un "archivo de post" al mejor estilo wordpress en el cual se muestre el año y los meses en lo que hay post algo asi:
2008
enero (10)
febrero (4)
marzo (20)

pero no tengo idea de como controlar en que me se esta para ir agrupando los datos.
alguien me puede dar una mano

desde ya muchas gracias

salu2
  #2 (permalink)  
Antiguo 03/04/2008, 15:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Re: agrupar por mes y año

SELECT YEAR(campofecha) AS AÑO, MONTH(campofecha) AS MES, MONTHNAME(campofecha) AS NOMBRE, COUNT(campo1) AS totaldatopormesdeaño FROM `tabla` GROUP BY AÑO DESC, MES DESC

Naturalmente, luego tendrás que traerte el nombre del mes en español, pues como verás aquí, en general los servidores no siempre te dejan la posibilidad de traértelo en español; para eso o bien en PHP creas un array con los nombres de los doce meses en español en que el índice numérico sea el número de mes y sustituyes el dato antes de presentarlo usando como referencia MES; o bien, si quieres hacerlo con MySQL, usas esto dentro de la consulta, en el select
CASE WHEN MONTH(fecha) = 1 THEN "enero"
WHEN MONTH(fecha) = 2 THEN "febrero"
WHEN MONTH(fecha) = 3 THEN "marzo"
WHEN MONTH(fecha) = 4 THEN "abril"
WHEN MONTH(fecha) = 5 THEN "mayo"
WHEN MONTH(fecha) = 6 THEN "junio"
WHEN MONTH(fecha) = 7 THEN "julio"
WHEN MONTH(fecha) = 8 THEN "agosto"
WHEN MONTH(fecha) = 9 THEN "septiembre"
WHEN MONTH(fecha) = 10 THEN "octubre"
WHEN MONTH(fecha) = 11 THEN "noviembre"
WHEN MONTH(fecha) = 12 THEN "diciembre"
ELSE "esto no es un mes" END AS MESespañol

Última edición por jurena; 04/04/2008 a las 08:43 Razón: añadir meses en español con MYSQL
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 18:56.