公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQL常用算法-判斷數據是否連續

admin
2024年3月30日 12:59 本文熱度 1055

常見場景

     經常會遇到一些分析連續次數類的需求,會需要對數據判斷是否連續,比如“用戶是否連續登入" ,“最多連續點擊次數”等等。

     對于連續2次,連續3次這種固定的連續次數的需求,我們可以通過自關聯數據表(join)2次或者3次或者lead/lag開窗函數實現。

     而對于不確定連續次數的需求,比如連續出現100次,總不能進行100次自關聯或者寫100個函數,因此我們可以增加輔助列的方式判斷是否連續,我們可以通過整體自然排序-分組排序的做法進行判斷

示例

我們直接引用某網站上的示例數據:有Logs表包含id列和num列

需求:查詢所有至少連續出現三次的數字

具體數據如下:

Logs 表:
+----+-----+
| id | num |
+----+-----+
| 1  | 1   |
| 2  | 1   |
| 3  | 1   |
| 4  | 2   |
| 5  | 1   |
| 6  | 2   |
| 7  | 2   |
+----+-----+


1.通過自關聯方式實現

SELECT DISTINCT

     l1.NUM

FROM

    LOGS l1,

    LOGS l2,

    LOGS l3                --判斷連續出現三次,因此自關聯三次

WHERE

    l1.Id = l2.Id - 1       ---自關聯上下級數據

    AND l2.Id = l3.Id – 1

    AND l1.NUM= l2.NUM

    AND l2.NUM= l3.NUM

2.lead/lag函數方法實現

SELECT DISTINCT NUM FROM (
  SELECT  ID,
          NUM,
          LAG(NUM,1) OVER(ORDER BY ID) LAG,
          LEAD(NUM,1) OVER(ORDER BY ID) LEAD
  FROM LOGS) T
WHERE  NUM=LAG AND NUM = LEAD  --通過偏移+1/-1行數據判斷是否連續

3.通過增加輔助列方式判斷連續

分別增加需要判斷組內的自增長列以及分組增長列

核心思路:對于連續的一組數據,他的自然序列和分組排序序列的差必然相同,通過統計計算這個相同差出現的次數,可以判斷他的連續性,即同一個差值統計出現2次,則連續2次,出現3次則為連續3次

SELECT DISTINCT Num FROM (  SELECT NUM,         COUNT(1as SerialCount   FROM     (SELECT Id,Num,      row_number() over(order by id) -      ROW_NUMBER() over(partition by Num order by Id) as SerialNumberSubGroup     FROM       LOGS     ) as SubGROUP BY Num,SerialNumberSubGroup HAVING COUNT(1) >= 3) as Result --判斷出現的次數統計


該文章在 2024/3/30 12:59:59 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产精品成人无码免费 | 国产巨作在线无遮挡 | 国产精品午夜视频自在拍 | 国产精品无码不卡一区二区 | 国产原创剧情化妆师在线观看 | 精品无码专区在线观看 | 国产a级一级久久毛片 | 国产一区二区三区无码免费 | 精品日产一区二区 | 国产自产亚洲精品国产 | 国产日韩亚洲不卡高清在线观看 | 极品萝在线永久视频欧美 | 国产成人久久久精品 | 69国产成人综合久久精品91 | 国产成人精品久久二区二区 | 国产精品沙发午 | 精品线一区二区三区免费看 | 国产白嫩美女在线观 | 18禁白丝喷水视频www视 | a亚洲国产v高清不卡 | 按摩中出的人妻中文字幕 | 国产精品日本一区二区在线看 | 国产在视频在线观看 | 国产成人最新毛片基地 | 国产午夜在线看免费观看视频 | av天堂永久资源网 | 激情航班h版在线观看 | 国产成人三区四区 | 99精品国产在热久久国产乱 | 99久久这里只有免费精品 | 国产成人午夜在线视频a站 国产成人午夜在线视频免费 | 国产精品多人p群无码 | 国产在线日韩 | 加勒比色老久久综合网 | 国产成人免费片在线观看 | 精品国产一区二区三区国产馆 | 国产亚洲欧美日韩在线天堂区 | 国产精品午夜激爽毛 | 国产无码免费 | 国产成人欧洲亚洲 | 91视频免费看 |