首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如何用sql根据当天时间查询连续登陆

2012-04-14 
怎么用sql根据当天时间查询连续登陆比如我要根据今天的时间来查询用户或某个用户这7天来是否有连续登陆。[

怎么用sql根据当天时间查询连续登陆
比如我要根据今天的时间来查询用户或某个用户这7天来是否有连续登陆。

[解决办法]
一个笨方法

SQL code
create table #loginlog(logintime datetime,u_id int)insert into #loginlog select '2011-12-16',907insert into #loginlog select '2011-12-17',907insert into #loginlog select '2011-12-18',907insert into #loginlog select '2011-12-14',1100insert into #loginlog select '2011-12-15',1100insert into #loginlog select '2011-12-16',1100insert into #loginlog select '2011-12-13',1200insert into #loginlog select '2011-12-14',1200insert into #loginlog select '2011-12-16',1200insert into #loginlog select '2011-12-17',1200insert into #loginlog select '2011-12-18',1200godeclare @date datetimeSET @date='2011-12-16'select a.u_id from #loginlog ajoin (select u_id  from #loginlog where logintime=DATEADD(D,-1,@date))b on b.u_id=a.u_idjoin (select u_id  from #loginlog where logintime=DATEADD(D,-2,@date))c on c.u_id=a.u_idwhere logintime=@date drop table #loginlog
[解决办法]
select distinct u_id,count(*) as 连续登陆次数 from loginlog
where logintime between convert(varchar(10),DATEADD(DD,-3,'2011-12-18'),120) 
and CONVERT(varchar(10),'2011-12-18',120)
group by u_id
having COUNT(*)>=3

热点排行