Ver Mensaje Individual
  #10 (permalink)  
Antiguo 10/08/2011, 10:54
Avatar de gnzsoloyo
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, 3 meses
Puntos: 2658
Respuesta: Ordenar por fechas

Cita:
Con asc me lo ordena como enseñé en la foto y con DESC me lo ordena de fecha mas próxima a mas lejana, no sé por que pasa eso pero pasa, el caso es que el primer registro sale el de dia 11 y luego otro del dia 10, pero los siguientes están ordenados de mas proximos a menos próximos.
Bueno, partiendo del hecho que estamos comparando campos DATETIME con valores DATETIME, y con una función que espera DATETIMEs, el problema es que una fecha 11/8/2011 respecto de la de hoy puede devolver 0 días si la diferencia de horas es inferior a 24.
Esto se da simplemente porque TIMESTAMPDIFF puede determinar el valor de la resta con una diferencia de segundos. Así, la diferencia entre "2011-08-09 11:38:45" y "2011-08-10 11:38:44" es de cero (0) días, pero con "2011-08-09 11:38:45" es de un (1) día.
¿Se entiende?
En ese contexto, no se debe comparar como DATETIME sino como DATE, para que haya una diferencia sustancial. En ese caso corresponde usar DATE_DIFF()

Código MySQL:
Ver original
  1.     id,
  2.     equipo_l,
  3.     equipo_v,
  4.     fecha,
  5.     hora_conf,
  6.     competicion,
  7.     jornada,
  8.     tipo,
  9.     id_ant,
  10.     temporada
  11.     ".$wpdb->prefix."_partidos
  12.     temporada='".intval($temporada)."'
Pero como DATEDIFF requiere que el primer miembro sea siempre mayor que el segundo o de lo contrario dará negativo, y en este caso puede ser mayor o menor, es mejor usar también ABS para eliminar el signo:
Código MySQL:
Ver original
  1.     id,
  2.     equipo_l,
  3.     equipo_v,
  4.     fecha,
  5.     hora_conf,
  6.     competicion,
  7.     jornada,
  8.     tipo,
  9.     id_ant,
  10.     temporada
  11.     ".$wpdb->prefix."_partidos
  12.     temporada='".intval($temporada)."'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)