• 查询登陆时间间隔不超过5分钟的所有记录


    表内容如下
    -----------------------------
    ID            LogTime
    1            2008/10/10 10:00:00
    1            2008/10/10 10:03:00
    1            2008/10/10 10:09:00
    2      2008/10/10 10:10:00
    2      2008/10/10 10:11:00

    -----------------------------

    如何查询登陆时间间隔不超过5分钟的所有记录

     
    CREATE TABLE #t (id INT ,LogTime DATETIME) 
     
    INSERT INTO #t 
    SELECT 1,'2008/10/10 10:00:00
    UNION 
    SELECT 1,'2008/10/10 10:03:00
    UNION 
    SELECT 1,'2008/10/10 10:09:00
    UNION 
    SELECT 2 ,'2008/10/10 10:10:00
    UNION 
    SELECT 2 ,'2008/10/10 10:11:00'  
     
     
    SELECT  id , 
            logtime 
    FROM    ( SELECT    * , 
                        ( SELECT    DATEDIFF(n, a.LogTime, b.LogTime) 
                          FROM      ( SELECT    ROW_NUMBER() OVER ( ORDER BY id ) AS iid , 
                                                * 
                                      FROM      #t 
                                    ) B 
                          WHERE     a.iid = b.iid - 1 
                                    AND DATEDIFF(n, a.LogTime, b.LogTime) <= 5   -- 
                        ) AS diff 
              FROM      ( SELECT    ROW_NUMBER() OVER ( ORDER BY id ) AS iid , 
                                    * 
                          FROM      #t 
                        ) A 
            ) B 
    WHERE   diff IS NOT NULL 
  • 相关阅读:
    Java Singleton 单例模式
    android 让真机显示 DeBug Log调试信息
    android 图片处理经验分享
    android GridView 的使用 实现多项选择
    Spark/Storm/Flink
    Https
    Netty
    Netty
    java 线程状态相关测试
    Socket buffer 调优相关
  • 原文地址:https://www.cnblogs.com/qanholas/p/1923356.html
Copyright © 2020-2023  润新知