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

Ordenar por fecha y hora

Estas en el tema de Ordenar por fecha y hora en el foro de Mysql en Foros del Web. Hola, Tengo una tabla con resultados con fecha y hora... en un campo date, ejemplo: "2012-01-23 18:00:00" "2012-01-23 16:00:00" "2012-01-20 12:00:00" Y quiero con una ...
  #1 (permalink)  
Antiguo 25/01/2012, 15:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 37
Antigüedad: 13 años, 2 meses
Puntos: 2
Ordenar por fecha y hora

Hola,

Tengo una tabla con resultados con fecha y hora... en un campo date, ejemplo:

"2012-01-23 18:00:00"
"2012-01-23 16:00:00"
"2012-01-20 12:00:00"

Y quiero con una consulta sacar el que tenga fecha y hora más cercano a la actual, es decir, si estamos a día 25 22:23 como es el caso ahora mismo, debería mostrar el más cercano que es 23 18:00...

Tengo esto, que hace lo que quiero, pero sin fijarse en la hora, es decir, que muestra el más cercano por fecha, saca el 23 16:00 y no el 23 18:00 como debería.

Código:
SELECT fecha FROM partidos WHERE jornada='1' ORDER BY ABS(DATEDIFF(DATE(fecha), CURDATE())) ASC LIMIT 1
¿Alguna solución?.

Gracias.
  #2 (permalink)  
Antiguo 25/01/2012, 15:42
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Ordenar por fecha y hora

Las fechas almacenadas son siempre menores a la actual?

en ese caso bastaría con hacer lo siguiente

Código MySQL:
Ver original
  1. SELECT campos
  2. FROM tabla

La razón por la que no te funciona con DATEDIFF es que esa función retorna el resultado en días por lo que no es preciso a la hora.

saludos.
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #3 (permalink)  
Antiguo 25/01/2012, 16:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 37
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Ordenar por fecha y hora

No, no son menores siempre, hay de todo.

Lo puse así:

Código:
SELECT fecha FROM partidos WHERE jornada='1' and fecha<'".date("Y-m-d",strtotime('+1 day'))." 00:00:00' ORDER BY fecha DESC LIMIT 1
y ya parece que funcionó

Última edición por danicss; 25/01/2012 a las 17:01
  #4 (permalink)  
Antiguo 25/01/2012, 20:08
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Ordenar por fecha y hora

Si es con PHP entonces

Código PHP:
Ver original
  1. $query = "
  2. SELECT campos
  3. FROM tabla
  4. WHERE fecha < '".date('Y-m-d H:i')."'
  5. ORDER BY fecha DESC
  6. LIMIT 1";

Saludos
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)

Etiquetas: fecha, select, tabla, campos
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




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