好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 巧妙利用PARTITION分組排名遞增特性解決合并連續相同數據行

巧妙利用PARTITION分組排名遞增特性解決合并連續相同數據行

熱門標簽:怎樣把地圖標注導入公司地址 400外呼系統合法 洛陽外呼系統平臺 地圖標注一個圓圈怎么用 如何在地圖標注自己店鋪 真人語音電銷機器人 廣州人工電銷機器人費用 寧波人工外呼系統有效果嗎 電銷機器人被曝光

問題提出

先造一些測試數據以說明題目:

DECLARE @TestData TABLE(ID INT,Col1 VARCHAR(20),Col2 VARCHAR(20)) 
INSERT INTO @TestData(ID,Col1,Col2) 
SELECT 1,'New','Approved' UNION ALL 
SELECT 2,'Approved','Commited' UNION ALL 
SELECT 3,'Commited','In Progress' UNION ALL 
SELECT 4,'New','Approved' UNION ALL 
SELECT 5,'New','Approved' UNION ALL 
SELECT 6,'New','Approved' UNION ALL 
SELECT 7,'Approved','Removed' 
SELECT * FROM @TestData

數據說明,ID列連續自增,列1和列2都是TFS中PBI的狀態記錄,就是從什么變更到什么,如新建到批準,批準到提交神馬的

現在要求連續且相同的狀態變更記錄合并,不連續或者不同的狀態變更保留,例如:

以上圖為例,ID為1,4,5,6的記錄都是從New到Approved狀態,但是記錄1與記錄4、5、6不相鄰,或者說不連續,那么就要分成兩組,

記錄1一組,記錄4、5、6一組,其它記錄因為狀態變更不相同所以全部保留,最后的查詢結果應該長成下圖這個樣子:

繼續之前你可以先自己試下,這可能會帶來新的解題思路,

解題思路

該問題的關鍵在于GROUP BY會把記錄1、4、5、6合并在一起,而這不符合要求,僅需要合并4、5、6,源表里沒有這樣一個字段可以將記錄1與記錄4、5、6區分開來,這是解題的關鍵

這里可以利用RANK函數配合使用PARTITION關鍵字,首先把1456分到一組去,同時產生一個組內排名的新字段R,這個排名R很關鍵,后邊會用到,見下圖:

RANK函數不了解的點這里

RANK函數以Col1 + Col2為分組條件,這樣分成了四組,分別是New-Approved、Approved-Commited、Commited-In Progress、Approved-Removed

在New-Approved組內,記錄1、4、5、6分別排名1、2、3、4;其它組內僅一條記錄,在其組內排名均為1

現在制造了一個R字段,R字段標識了每條記錄在其組內的排名,排名自1開始遞增,

源表內ID自增,組內排名R遞增,這就是解題的關鍵,

當連續相同的記錄出現時,其ID與其排名R在同時遞增,則其差值是相同的,拿到這個差值就可以很容易解決題目了,看下圖:

記錄4、5、6相同且連續出現,其ID與其排名在同時增長,其差值則保持不變,這里使用Col1 + Col2 + Gap作為分組條件即可將記錄4、5、6合并,再取個最小ID出來,問題解決,完整腳本如下:

可是如果ID不連續時怎么辦呢?這個不難,參考[MSSQL]ROW_NUMBER函數

您可能感興趣的文章:
  • Mysql數據表分區技術PARTITION淺析
  • sqlserver巧用row_number和partition by分組取top數據
  • 分區軟件PartitionMagic的使用方法(images)及注意事項

標簽:珠海 煙臺 東營 晉中 石家莊 北海 南昌 咸寧

巨人網絡通訊聲明:本文標題《巧妙利用PARTITION分組排名遞增特性解決合并連續相同數據行》,本文關鍵詞  巧妙,利用,PARTITION,分組,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《巧妙利用PARTITION分組排名遞增特性解決合并連續相同數據行》相關的同類信息!
  • 本頁收集關于巧妙利用PARTITION分組排名遞增特性解決合并連續相同數據行的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 91理论片午午伦夜理片久| 亚洲国产精久久久久久久| 亚洲 日韩 丝袜 熟女 变态| 精品国产又爽又爽www张津瑜| 别…别用棉签车| 和黑帮大佬的365天第二部电影无删减 | 一级做a爱久久毛片A片Ⅴ无码| 果冻传媒新剧国产完整合租| 明星合成夜色邦首页| 福利一区福利二区| 动漫男手伸进内衣摸揉美女的视频| 老女人性饥渴XXXX乱叫下载| 美女脱精光张开双腿| 机机对机机无遮挡免费| 男人?女人40分钟视| 91精品国产色综合久久不卡98| 囗交免费毛片| 国产JJIZZ女人多水免费| 久久精品,人人爱| 1000啪啪辣妞范18人下| 手机av看片| 国产麻豆精品视频| 波多野结衣中文字幕丝袜| 杨思敏被揉到高潮下不了床| 欧美又乱又伦观看| 白鹿扒开内裤露出尿孔| 国产理论片在线观看| 久久99精品国产麻豆婷婷| 精品久久一区二区三区| 九九激情网| 嗯啊射小子宫里| 久久精品国产欧美日韩亚洲 | 女人18毛多水多A片毛片| 控制dosm主攻文| 美女扒开内衣看个够视频| 日韩在线伦理| 鬼1一16秋月爱莉无极影视| 亚洲精品无码久久久久久久宅男| 大胖子h粗污| 美女干骚| freexx美国1819xxhd|