我试图从MYSQL数据库中选择超过1天或24小时的记录。我无法弄清楚为什么这种说法不适用于NOW()
,它只有在我手动明确添加日期时才有效,下面是您的评论代码:MYSQL选择大于1天的记录
date_posted
在DB中设置为“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)
你试过Curdate()吗? – yeouuu
你在比较日期和时间,但只想处理日期。尝试'date(date_post)> curdate - interval 1 day',所以你忽略了时间值。 –
是的,我尝试了“current_date”,“curdate()”。刚刚尝试过,“SELECT count(DISTINCT my_id)AS'a'FROM my_table WHERE date(date_posted)> curdate() - interval 1 day”并且它仍然返回一个“0”计数,它只适用于我提到的显式日期以上。 – Andre