无法选择过去7天内的行

时间:2011-11-22 00:21:02

标签: mysql datetime

我昨天创建了这个表,所有应该被选中但是查询只返回昨天添加的行(20),但今天没有。

这是我的表结构:

Followed | Follower | Date (DATETIME)

这是查询:

SELECT * FROM Follows 
WHERE Date BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY `Followed`

有没有办法在7天前选择所有行而不是将它们限制为CURDATE()?我究竟做错了什么?

2 个答案:

答案 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`