2011-11-03 5 views
0

У меня есть форма, где вы можете ввести дату, теперь в моей таблице у меня есть эти поля:как выбрать предыдущий ряд, основанный на дате

  • идентификатор
  • Идентификатор_пользователя
  • метка времени
  • значение

Что мне нужно, это предыдущая запись (дата) на основе заданной отметки времени, я действительно не знаю, как это сделать в MySQL.

Любая помощь была бы принята с благодарностью!

ответ

1
SELECT * FROM table WHERE timestamp < :myTimeStamp ORDER BY timestamp DESC LIMIT 0, 1 
+0

lol Я чувствую себя глупо, что я не думал об этом .. Спасибо! – xorinzor

+1

Зависит от того, что вы подразумеваете под предыдущим. Что происходит, когда есть две записи с одинаковой меткой времени? Этот запрос будет игнорировать любые записи с одинаковой меткой времени. Если ваше поле id является автоматическим приращением, вы можете использовать «timestamp <=: myTimeStamp и id <: id». – liquorvicar

+0

Вам нужно только поставить LIMIT 1 в этом случае. – liquorvicar

Смежные вопросы