Как выбрать записи за текущую неделю?

У меня в базе есть запись о дате в формате UNIX, я пытаюсь выбрать записи за текущую неделю:

WHERE FROM_UNIXTIME(`date_add`, '%Y-%m-%d') >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)

но тут понятное дело что выбирает все записи за последние 7 дней. А мне же нужно именно за текущую неделю.

Буду благодарен за помощь!


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

Автор решения: Жора Хзмалян
SELECT id FROM tbl
WHERE date >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY
AND date < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY

попробуйте так

→ Ссылка
Автор решения: iKey

К сожалению(или к счастью) ни один из ответов или комментариев не помог сделать желаемую выборку из базы по дате в UNIX.

Но с задачей справился, привожу код сюда, может кому-то поможет.

Выбор записей за текущую неделю:

WHERE year( FROM_UNIXTIME(date, '%Y-%m-%d') ) = year(now()) and week(FROM_UNIXTIME(date, '%Y-%m-%d'), 1) = week(now(), 1)

Выбор записей за текущий месяц:

WHERE month( FROM_UNIXTIME(date, '%Y-%m-%d') ) = month(now()) and year( FROM_UNIXTIME(date, '%Y-%m-%d') ) = year(now())

week(date, N) где N - номер дня с которого начинается неделя (0 - с воскресенья, 1 - с понедельника)

→ Ссылка