我正在尝试从MYSQL数据库中选择超过1天或24小时的记录。我无法弄清楚为什么此声明不适用于NOW()
,并且只有在我明确手动添加日期时才有效,这是您审核的代码:
date_posted
在数据库表中设置为“datetime”。
以这种方式工作(不可取,仅用于测试)
SELECT count( DISTINCT my_id ) AS 'a'
FROM my_table
WHERE date_posted >= DATE_SUB( '2015-10-03 09:10:19', INTERVAL 24 HOUR )
它应该以这种方式工作,但它会带来“0”计数结果:
SELECT count( DISTINCT my_id ) AS 'a'
FROM my_table
WHERE date_posted >= DATE_SUB( NOW(), INTERVAL 24 HOUR )
答案 0 :(得分:1)
SELECT count( DISTINCT my_id ) AS 'a'
FROM my_table
WHERE date_posted >= subdate(current_date, 1)
此处subdate(current_date, 1)
将返回您的昨天日期
如果您只想选择昨天的帖子,请使用以下内容
WHERE date_posted = subdate(current_date, 1)