我试图限制用户每天只执行5个请求。为此,我使用以下查询计算当天已执行的请求数:
SELECT COUNT(*) FROM table_name WHERE date_field >= CURDATE()
这给了我几天前已经执行过的请求。我只需要在今天课程中执行的请求数量。有什么好主意吗?
答案 0 :(得分: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
答案 1 :(得分:1)
尝试:
SELECT COUNT(*) FROM table_name WHERE date(date_field) = CURDATE()
假设date_field
是时间戳/日期时间字段,date()
将仅提取日期部分并根据当前日期对其进行评估。您可以在 MySQL's Documentation