Ограничить результаты SQL по времени, MySQL - PullRequest
1 голос
/ 01 февраля 2010

У меня есть таблица, содержащая события, которые происходят в моем приложении, например, когда пользователи входят в систему и меняют настройки.

У них есть дата / время против события в следующем формате:

2010-01-29 10:27:29

Можно ли использовать SQL для выбора событий, которые произошли только за последние 5 минут?

Так что, если бы дата / время были 2010-01-29 10:27:29, он выбрал бы только те события, которые произошли между 10:27:29 и 10: 22: 29?

Приветствия

Eef

Ответы [ 3 ]

3 голосов
/ 01 февраля 2010

ВЫБРАТЬ foo ИЗ бара, ГДЕ event_time> DATE_SUB (NOW (), ИНТЕРВАЛ 5 МИНУТ)

(не уверен, минуты или минуты)

1 голос
/ 01 февраля 2010
WHERE my_timestamp < DATE_SUB(now(), INTERVAL 5 MINUTE)
0 голосов
/ 01 февраля 2010

Вы должны предоставить имена таблиц и столбцов, чтобы мы могли легко ответить на ваш вопрос.

Вы можете написать SQL как

SELECT *
FROM Table
WHERE DateTimeColumnName <= '2010/01/29 10:27:29'
AND  DateTimeColumnName >= '2010/01/29 10:22:29'

или вы можете использовать BETWEEN

SELECT *
FROM Table
WHERE DateTimeColumnName BETWEEN '2010/01/29 10:22:29' AND '2010/01/29 10:27:29'

Теперь посмотрим, есть ли в MySQL функции datetime для выполнения Date Math, так что просто передайте одну отметку даты и выполните математические вычисления, чтобы вычесть из нее 5 минут и используйте ее как второй параметр в предложении Между.

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