Основной вопрос MySQL - как искать по времени?

0

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

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

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

SELECT * FROM mytable WHERE timecreated > '(NOW() - 60)' ORDER BY id DESC LIMIT 0, 30

  • 0
    пожалуйста, опубликуйте схему таблицы
Теги:

2 ответа

4
Лучший ответ

Используйте 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

Вы можете:

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

чтобы получить всю строку, где timecreated > теперь - 1 час

или вы можете

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню