Как выбрать строки по временному интервалу в MySQL? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть БД с отметкой времени, подобной этой:

2018-10-25 13:00:00 
2018-10-25 15:00:10 
2018-10-25 16:10:00 
2018-10-25 17:00:00 

Теперь я хочу выбрать только дату из последнего часа, когда я пытался запустить это -

SELECT * FROM sample.writing where (date(Date) = interval 1 hour )

Чтонеправильно ?Дата типа DateTime.

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

При условии, что в таблице хранятся только прошедшие события ...

SELECT * 
  FROM sample.writing 
 where date >= NOW() - INTERVAL 1 HOUR;
0 голосов
/ 25 октября 2018
  • Во-первых, Date - это ключевое слово в MySQL .Вы действительно должны избегать использования его в качестве имени таблицы / столбца.
  • Чтобы получить время за 1 час до текущего времени, вы можете добавить INTERVAL -1 HOUR к текущему времени (NOW()), используя Date_add() функция.
  • Мы можем использовать BETWEEN low-value AND high-value оператор сравнения, чтобы получить значения из предписанного диапазона.

Попробуйте следующеезапрос:

SELECT * 
FROM sample.writing 
where Date BETWEEN DATE_ADD(NOW(), INTERVAL -1 HOUR) AND NOW()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...