如何判断一段时间内某个用户的登陆次数。
比如我一个如下数据库,有表table1和table2
其中table1的结构如下:
table1记录了用户的登陆时间,和登陆的ID。
time_sj                               class
2011-12-08 17:01:00         1    
2011-12-08 17:02:00         2    
2011-12-08 17:11:00         3    
2011-12-08 17:11:00         3    
2011-12-08 17:11:00         2    
2011-12-08 17:14:00         2  
2011-12-08 17:17:00         2  
2011-12-08 17:19:00         2  
其中class代表不同的用户。
table2
table2记录了用户名称、登陆的ID和是否锁定状态(0为没有锁定,1为锁定状态。)
username                   class     shuo ssj                 
xiaoxiao1                   1        0   锁定时间
xiaoxiao2                   2        0    锁定时间
xiaoxiao3                   3        0    锁定时间
其中class代表不同的用户。
如何判断出在N分钟内,某个用户登陆了几次。
比如判断class=2的用户在5分钟内登陆了多少次,改怎么写sql?
如果登录的次数超过3次,则把shuo这个字段对应的0变成1。
然后在45分钟内,自动把变成1的转变成0;
接着,如果在五分钟内登陆了3次,则把0转换成1.
如此自动循环下去。
我就是想实现的目的,一个用户如果在5分钟内登陆了3次,则吧这个账号锁定45分钟。45分钟后自动解锁。。
------解决方案--------------------SQL code
select count(*) from table1 where userid=@userid and datediff(mi,time_sj,getdate())<=5
------解决方案--------------------
呵对了,你表里头是class
select count(*) from table1 where class=@userid and datediff(mi,time_sj,getdate())<=5