我昨天创建了这个表,所有应该被选中但是查询只返回昨天添加的行(20),但今天没有。
这是我的表结构:
Followed | Follower | Date (DATETIME)
这是查询:
SELECT * FROM Follows
WHERE Date BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY `Followed`
有没有办法在7天前选择所有行而不是将它们限制为CURDATE()?我究竟做错了什么?
答案 0 :(得分:0)
这是否有效:
WHERE Date BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()
答案 1 :(得分:0)
您可能希望将DATETIME属性强制转换为DATE以与CURDATE()进行比较:
SELECT * FROM Follows
WHERE cast(Date as DATE) BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY `Followed`