Im пытается создать задание cron, включающее агрегирование электронных писем, отправленных в течение периода.MySQL select row dateandtime> NOW
Мне нужно выполнить запрос, такие как
SELECT count(*) from table where action_time < NOW();
Как будет идти об этом?
Я знаю CURDATE()
и CURTIME()
, но мне нужно, чтобы сравнить и время и дату, так что действие выполняется в точной минуте после события, CURTIME
будет означать в полночи я хотел бы получить вопрос.
Редактировать: CURTIME()
включает только время, поэтому работа в db с временем действия 23:59:59 не будет запущена в 00:00:59 - через минуту (так как последняя не больше, чем первая)
я могу использовать DateTime или временную метку, но что бы использовать в качестве функции сравнения (я использую NOW() выше, но это не работает)
Обновление: Я попытался с помощью SELECT COUNT (*) из таблицы, где UNIX_TIMESTAMP (action_time) < UNIX_TIMESTAMP (NOW()); и он работает :)
Какого типа данных 'action_time', он должен быть' DATETIME'. – Vyktor
Это время, хотя я думал об использовании TIMESTAMP, чтобы сделать его более сопоставимым, как Mchl предложил – Akshat