Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/06/2008, 12:20
chelodelsur
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Que el primer dia de la semana sea Lunes y no Domingo???

Hola Jurema:

Mira el tema es el siguiente, en el siguiente codigo la consulta me lista :año, mes, fecha, día, total trafico.
Cuando el Group By, lo hago por : YEAR(log_0.fecha_date),MONTH(log_0.fecha_date),day name(log_0.fecha_date). la consulta me devuelve el listado de registros ordenados por fecha o por lo que yo quiera, esto esta bien.
Pero ahora cuando hago Group By por week(log_0.fecha_date), comienzan mis problemas: Para el rango de fechas del ejemplo 1 al 8 de Junio, me devuelve dos semanas, eso esta bien pero: lo que pasa es que el domingo 1 lo agrupa con los días 2 al 7, y el 8 lo cuenta como una nueva semana. Lo que yo necesito es que las semanas las agrupe de lunes a domingo y no de domingo a sabado. o sea necesito que el domingo 1 sea uan semana (para este ejemplo) y la otra semana sea desde el lunes 2 al domingo 8.

Código:
SELECT Year(log_0.fecha_date) as `AÑO`,
CASE 
WHEN MONTH(log_0.fecha_date) = 1 THEN "enero"
WHEN MONTH(log_0.fecha_date) = 2 THEN "febrero"
WHEN MONTH(log_0.fecha_date) = 3 THEN "marzo"
WHEN MONTH(log_0.fecha_date) = 4 THEN "abril"
WHEN MONTH(log_0.fecha_date) = 5 THEN "mayo"
WHEN MONTH(log_0.fecha_date) = 6 THEN "junio"
WHEN MONTH(log_0.fecha_date) = 7 THEN "julio"
WHEN MONTH(log_0.fecha_date) = 8 THEN "agosto"
WHEN MONTH(log_0.fecha_date) = 9 THEN "septiembre"
WHEN MONTH(log_0.fecha_date) = 10 THEN "octubre"
WHEN MONTH(log_0.fecha_date) = 11 THEN "noviembre"
WHEN MONTH(log_0.fecha_date) = 12 THEN "diciembre"
ELSE "NUUL_MES" END  AS MES ,log_0.fecha_date as `FECHA`,
CASE 
WHEN weekday(log_0.fecha_date) = 0 THEN "Lunes"
WHEN weekday(log_0.fecha_date) = 1 THEN "Martes"
WHEN weekday(log_0.fecha_date) = 2 THEN "Miercoles"
WHEN weekday(log_0.fecha_date) = 3 THEN "Jueves"
WHEN weekday(log_0.fecha_date) = 4 THEN "Viernes"
WHEN weekday(log_0.fecha_date) = 5 THEN "Sabado"
WHEN weekday(log_0.fecha_date) = 6 THEN "Domingo"
ELSE "NUUL_DIA" END AS DIA,
  SUM(IF(ROW_ID,1,0)) AS TOTAL_TRAFICO
FROM ivr.log log_0
WHERE log_0.fecha_date>='2008-06-01' 
AND log_0.fecha_date<='2008-06-08'  
GROUP BY week(log_0.fecha_date)
ORDER BY (log_0.fecha_date)
espero haber sido claro, si no (y si aun tienes paciencia) me preguntas

Desde ya gracias