如何计算过去24小时内创建的寄存器?

时间:2012-08-10 11:45:00

标签: php mysql

示例MySQL;

username work date(TIMESTAMP)

x        1    2012-08-08 12:15:33
x        3    2012-10-08 12:11:33
x        4    2012-08-08 11:15:33
x        2    2012-07-08 12:15:33

我想用一条规则来控制;

X只能在24小时内完成3个工作mysql注册表。

我无法找到真正的MySQL命令。 我怎么能通过MySQL和php来控制它?

3 个答案:

答案 0 :(得分:3)

这将为您提供超过3的计数

select username from table
where date>=dateadd(current_date+interval -1 day)
group by username  
having count(*)>3

答案 1 :(得分:1)

这将返回用户'x'在最后一天设置的作业数量:

select count(*) as jobCount from yourTable where date>=date_sub(now(), 1 day) and userName='x'

您可以检查何时放置新作业以查看用户是否在列表中且jobCount是否至少为3。

答案 2 :(得分:0)

我认为这就是你要找的东西:

SELECT username , COUNT(1) AS cnt
FROM  table_name
WHERE `date` >= DATE_SUB(CURRENT_DATE, INTERVAL 1 day),
GROUP BY username 
HAVING cnt <= 3;