基于时间窗口从MySQL获取记录

基于时间窗口从MySQL获取记录,mysql,datetime,Mysql,Datetime,我想根据截止时间统计记录。我的截止时间是午夜 因此,当用户插入一条新记录时,我想知道从NOW()到我的截止时间(即今天12:00AM)之间插入了多少条记录。我不知道如何让MySQL动态运行到今天的12:00。。。基本上,我想做的是: 从myTable中选择COUNT(id),其中createdAt介于现在和今天的12:00AM之间这样的查询应该可以做到这一点 SELECT COUNT(id) FROM myTable WHERE createdAt >= DATE(NOW()) AND c

我想根据截止时间统计记录。我的截止时间是午夜

因此,当用户插入一条新记录时,我想知道从NOW()到我的截止时间(即今天12:00AM)之间插入了多少条记录。我不知道如何让MySQL动态运行到今天的12:00。。。基本上,我想做的是:


从myTable中选择COUNT(id),其中createdAt介于现在和今天的12:00AM之间

这样的查询应该可以做到这一点

SELECT COUNT(id) FROM myTable WHERE createdAt >= DATE(NOW()) AND createdAt <= NOW();
如果您不希望将来有任何createdAt日期的记录。您也可以使用“Between”操作符

SELECT COUNT(id) FROM myTable WHERE createdAt BETWEEN DATE(NOW()) AND NOW();
CURDATE()。如果您愿意,您可以将它转换为
DATETIME
,尽管比较时不需要它。
SELECT COUNT(id) FROM myTable WHERE createdAt BETWEEN DATE(NOW()) AND NOW();