【发布时间】:2012-03-30 19:12:59
【问题描述】:
我的查询如下所示:
SELECT COUNT(entryID)
FROM table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 1 DAY)
这是否会计算date 值在一天内的行(从 12:00 开始;而不是在 24 小时内)?如果没有,我该怎么做?
【问题讨论】:
-
我认为我的解决方案是
WHERE DAYNAME(date) == CURDATE()。问题是DAYNAME返回单词形式'Friday'。我需要数字形式,以便它可以与CURDATE()进行比较。 -
它将返回昨天的所有记录,从当天开始,而不仅仅是运行后 24 小时内的记录。
-
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)返回2012-03-29,所以>= '2012-03-29是昨天和今天的所有记录。 -
如果您只想要前 24 小时,请使用
NOW()而不是CURDATE()