Я использую этот подход для таблицы с именем call
, со столбцом типа отметки времени с именем systemdate
:
SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW());
mysql DATE () оператор получает часть датыполе datetime или timestamp.
Извините, только что заметил, что вы хотите проверить, есть ли хотя бы запись для каждого из дней на предыдущей неделе.
вы можете использовать этот запрос для проверкииндивидуальные предыдущие дни:
вчера:
SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW()) - 1;
до вчерашнего дня:
SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW()) - 2;
Или вы можете проверить всю неделю сразу:
SELECT * FROM `call` WHERE DATE(`systemdate`) > DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY DATE(`systemdate`);
Это будет возвращать один результат за каждый день, поэтому, если у вас будет 7 результатов, вы будете знать, что по крайней мере запись была сделана каждый день.