我有一个带有创建时间戳的邀请表。
我想按每周队列查询,这意味着需要给定一周中的所有记录。例子
这是我到目前为止所拥有的:
上周
SELECT *
FROM invitations
WHERE created_at >= curdate() - INTERVAL dayofweek(curdate()) + 6 DAY
AND created_at < curdate() - INTERVAL dayofweek(curdate()) - 1 DAY
2周前
SELECT *
FROM invitations
WHERE created_at >= curdate() - INTERVAL dayofweek(curdate()) + 13 DAY
AND created_at < curdate() - INTERVAL dayofweek(curdate()) - 1 DAY
3周前
SELECT *
FROM invitations
WHERE created_at >= curdate() - INTERVAL dayofweek(curdate()) + 18 DAY
AND created_at < curdate() - INTERVAL dayofweek(curdate()) - 1 DAY
我认为这不能正常工作,因为它正在查询所有记录,而不仅仅是查询给定一周中的记录。是否有更好或更轻松的方式按每周同类群组进行此类查询?