Как в mysql вывести данные за неделю?

Есть вопрос, как мне вывести данные за неделю, учитывая день недели. Если понедельник, то выводим данные за понедельник. Если среда, то за понедельник, вторник, среду.

Какой я использую запрос:

SELECT COUNT(id) FROM ugc_users WHERE dateRegistration >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)

НО, он не работает ) И если я правильно понимаю, то он просто будет выводить за 7 дней. Если суббота, то оно будет считывать до следующей субботы.

Данные сохранены в бд так - 2021-09-16 17:59:41

Как сделать правильный запрос ?


Ответы (1 шт):

Автор решения: Akina

вывести данные за неделю, учитывая день недели. Если понедельник, то выводим данные за понедельник. Если среда, то за понедельник, вторник, среду.

SELECT COUNT(id) 
FROM ugc_users 
WHERE dateRegistration >= CURRENT_DATE - INTERVAL WEEKDAY(CURRENT_DATE) DAY
  AND dateRegistration < CURRENT_DATE + INTERVAL 1 DAY
→ Ссылка