zoukankan      html  css  js  c++  java
  • 查询登陆时间间隔不超过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 
  • 相关阅读:
    LeetCode(65) Valid Number
    LeetCode(57) Insert Interval
    Python 之scrapy框架58同城招聘爬取案例
    Python 之12306网站验证码校验案例
    Python 之selenium+phantomJS斗鱼抓取案例
    Python 之pytesseract模块读取知乎验证码案例
    Python 之糗事百科多线程爬虫案例
    Python 之beautifulSoup4解析库
    Python 之lxml解析库
    把一张的数据添加到另一张中
  • 原文地址:https://www.cnblogs.com/qanholas/p/1923356.html
Copyright © 2011-2022 走看看