Привет, У меня есть база данных MySQL, у которой уже есть автоматическое добавление даты colomn (может помочь информация).
Как фильтровать последние данные за неделю, начиная с определенного дня до следующего 7 дня.
пример. Показывать данные со среды на этой неделе до гнезда 7 дней
$query="SELECT * FROM diagnosa WHERE schedule= '$a'";
$ a - начальный день, когда данные начинают отображаться (пример в среду)
Это может помочь вам...
SELECT *
FROM table
WHERE date_colunm between 'start_date' AND DATE_ADD("start_date", INTERVAL 7 DAY);
ОБНОВИТЬ :
Как вам нужно со среды. Пожалуйста, ниже запрос
SELECT *
FROM table
WHERE date_colunm
between (
CASE
WHEN DAYOFWEEK(curdate()) > 4
THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY)
ELSE (
CASE
WHEN DAYOFWEEK(curdate()) < 4
THEN DATE_ADD(NOW(), INTERVAL (4-DAYOFWEEK(curdate())) DAY)
ELSE curdate()
END
)
END
) as date
AND DATE_ADD (
(
CASE
WHEN DAYOFWEEK(curdate()) > 4
THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY)
ELSE (
CASE
WHEN DAYOFWEEK(curdate()) < 4
THEN DATE_ADD(NOW(), INTERVAL (4-DAYOFWEEK(curdate())) DAY)
ELSE curdate()
END
)
END
) as date, INTERVAL 6 DAY
)
НОТА :
Есть коды для таких дней, как в среду у нас есть 4 (как указано в запросе), поэтому вы можете изменить код в соответствии с вашими требованиями. Как на понедельник: 2