Я пытаюсь выбрать записи, которые старше 1 дня или 24 часа из базы данных MYSQL. Я не могу понять, почему это заявление не работает с NOW()
, и оно работает только в том случае, если я явно добавляю дату вручную, вот код для вашего отзыва:MYSQL выбирает записи старше 1 дня
date_posted
настроен как «datetime» в БД Таблица.
работает таким образом (не желательно, только для тестирования)
SELECT count(DISTINCT my_id) AS 'a'
FROM my_table
WHERE date_posted >= DATE_SUB('2015-10-03 09:10:19', INTERVAL 24 HOUR)
Он должен работать таким образом, но это приносит "0" подсчета результата:
SELECT count(DISTINCT my_id) AS 'a'
FROM my_table
WHERE date_posted >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
Вы пробовали Curdate()? – yeouuu
Вы сравниваете даты и время, но хотите иметь дело только с датами. try 'date (date_post)> curdate - interval 1 day', поэтому вы игнорируете значения времени. –
Да, я сделал, я попробовал «current_date», «curdate()». Просто попробовал: «SELECT count (DISTINCT my_id) AS 'a' FROM my_table WHERE date (date_posted)> curdate() - interval 1 day", и он все еще возвращает счетчик «0», он работает только с явной датой, как я упоминал выше. – Andre