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 id,
equipo_l,
equipo_v,
fecha,
hora_conf,
competicion,
jornada,
tipo,
id_ant,
temporada
".$wpdb->prefix."_partidos
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 id,
equipo_l,
equipo_v,
fecha,
hora_conf,
competicion,
jornada,
tipo,
id_ant,
temporada
".$wpdb->prefix."_partidos
temporada='".intval($temporada)."'