如有表user,其中字段:id,userid和createtime
id是自增量
userid是条件
createtime是时间型字段
如何判断某个userid最新的两条记录是连续一个小时一条的?

解决方案 »

  1.   

    select m.* , n.* from
    (select * , px = (select count(1) from [user] where userid = t.userid and createtime > t.createtime) + 1 from [user] t) m,
    (select * , px = (select count(1) from [user] where userid = t.userid and createtime > t.createtime) + 1 from [user] t) n
    where m.userid = n.userid and m.px = 1 and n.px = 2 and datediff(hh, n.createtime , m.createtime) = 1
      

  2.   


    create table #t
    (
    id int identity(1,1),
    userid nvarchar(60),
    createtime datetime
    )insert #t select 'A',getdate()
    insert #t select 'A',getdate()
    go
    select userid,case when datediff(mi,min(createtime),max(createtime))>60 then '是' else '否' end
    from
    (
    select top 2 * from #t as aa
    where userid = 'A' order by createtime desc
    )tbl
    group by userid
      

  3.   

    写错了select userid,case when datediff(mi,min(createtime),max(createtime))>60 then '否' else '是' end
    from
    (
    select top 2 * from #t as aa
    where userid = 'A' order by createtime desc
    )tbl
    group by userid