Туплю... Направьте на путь истинный... Как выбрать из базы MySQL за конкретный день? Нужно от сегодня, вчера, и т.д. и так 7 дней. НО! Не полностью за 7 дней, а именно за один день. Дата в базе int(11) в UNIX формате. Если нужно изменю в человеческий TIMESTAMP или DATETIME. Спасибо!
1. Изменить на человеческий timestamp или datetime 2. https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date
Пробовал. + INTERVAL не подходит. Нужно конкретно за сегодня (только за сегодня, за вчера (только за вчера) и т.д. (за весь день имеется ввиду)
PHP: ... WHERE DATE(`date_column`) = DATE(NOW()) PHP: ... WHERE DATE(`date_column`)= DATE(NOW()- INTERVAL 1 DAY) И т.д.
За сегодня согласен, да. ... WHERE DATE(`date_column`)=DATE(NOW()- INTERVAL 2 DAY) - не то! Нужно не от сегодня и минус два, а за дату второго дня БЕЗ сегодня. Пример: Выбрать для этих дат (за весь день) 16.01.2018 - NOW() есть 15.01.2018 - нет (только этот день) 14.01.2018 - нет (только этот день) 13.01.2018 - нет (только этот день) и т.д.
Логику включайте. Что определяет какой-то день? Не дата + время, а просто дата. Вот и в условии сравнивайте с датой. Если дата, как вы показали, не в стандартном формате, то приводите к нужному - DATE_FORMAT --- Добавлено --- Или STR_TO_DATE
+/- INTERVAL не даёт вам промежуток, как ошибочно может показаться из-за слова interval, оно даёт вполне конкретное значение времени
@Deonis спасибо! Дата в базе в datetime. PHP: DATE(`datereg`) = DATE(NOW() - INTERVAL 7 DAY) Эта конструкция будет брать за седьмой день или сейчас минус 7 дней это 10.01.2018г?