2

我试图限制用户每天只执行 5 个请求。为此,我使用以下查询计算同一天已执行的请求数:

SELECT COUNT(*) FROM table_name WHERE date_field >= CURDATE()

这给了我几天前已经执行的请求。我只需要今天课程中执行的请求数。请问有什么想法吗?

4

2 回答 2

2
SELECT COUNT(*) FROM table_name WHERE date_field >= CURDATE()

... 如果 date_field 是日期数据类型,将返回 date_field 大于或等于今天的行数。也就是说,确保时间不是一个组件,但它肯定不能返回“几天前已经执行的请求”,除非 date_field 列中存储的值存在错误。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

于 2013-05-28T18:11:42.133 回答
1

尝试:

SELECT COUNT(*) FROM table_name WHERE date(date_field) = CURDATE()

假设date_field是时间戳/日期时间字段,date()将仅提取日期部分并根据当前日期对其进行评估。您可以在MySQL 的文档中了解更多信息

于 2013-05-28T18:08:19.073 回答