我试图限制用户每天只执行 5 个请求。为此,我使用以下查询计算同一天已执行的请求数:
SELECT COUNT(*) FROM table_name WHERE date_field >= CURDATE()
这给了我几天前已经执行的请求。我只需要今天课程中执行的请求数。请问有什么想法吗?
我试图限制用户每天只执行 5 个请求。为此,我使用以下查询计算同一天已执行的请求数:
SELECT COUNT(*) FROM table_name WHERE date_field >= CURDATE()
这给了我几天前已经执行的请求。我只需要今天课程中执行的请求数。请问有什么想法吗?
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
尝试:
SELECT COUNT(*) FROM table_name WHERE date(date_field) = CURDATE()
假设date_field
是时间戳/日期时间字段,date()
将仅提取日期部分并根据当前日期对其进行评估。您可以在MySQL 的文档中了解更多信息