Основной вопрос MySQL - как искать по времени? - PullRequest
0 голосов
/ 04 октября 2009

У меня есть таблица mysql, где у меня есть столбец с именем timecreated со значением NOW (), когда он вставляется.

Как мне написать оператор MYSQL, чтобы получить строки, которые были вставлены за последнюю минуту?

Это не работает:

ВЫБРАТЬ * ОТ mytable ГДЕ timecreated> '(СЕЙЧАС () - 60)' ЗАКАЗАТЬ ПО ID DESC LIMIT 0, 30

Ответы [ 2 ]

4 голосов
/ 04 октября 2009

Использовать DATE_SUB () :

SELECT * FROM mytable
 WHERE timecreated > DATE_SUB(NOW(), INTERVAL 1 MINUTE)
 ORDER BY id DESC LIMIT 0 , 30

Или вы можете сделать то же самое, что и выражение:

SELECT * FROM mytable
 WHERE timecreated > NOW() - INTERVAL 60 SECOND
 ORDER BY id DESC LIMIT 0 , 30
1 голос
/ 04 октября 2009

Вы можете:

SELECT *  from mytable where timecreated > SUBTIME(NOW() , '01:00:00')

чтобы получить весь ряд, где время создано> сейчас - 1 час

или вы можете

SELECT * from mytable where timecreated > '2009-10-03 08:39:00')

, если вы хотите от определенного времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...