国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

查找字段連續相同的最大值

2024-07-21 02:46:36
字體:
來源:轉載
供稿:網友
查找字段連續相同的最大值

數據庫環境:SQL SERVER 2008R2

有基礎數據如圖1,要求取出id字段連續值為一組的cn最大值,即圖2中紅框圈中的部分。

基礎數據 結果

先導入基礎數據

WITH    x0          AS ( SELECT   1 AS id ,                        100 AS cn               UNION ALL               SELECT   1 AS id ,                        200 AS cn               UNION ALL               SELECT   1 AS id ,                        300 AS cn               UNION ALL               SELECT   2 AS id ,                        400 AS cn               UNION ALL               SELECT   2 AS id ,                        200 AS cn               UNION ALL               SELECT   1 AS id ,                        600 AS cn               UNION ALL               SELECT   1 AS id ,                        700 AS cn             )                 SELECT * INTO #tt FROM x0

實現的步驟分兩步,第一步是將連續id分組,則提供的基礎數據可以分成3組。

--添加一列自增數量,并插入到新表#tSELECT IDENTITY(int,1,1) AS rowid,* INTO #t FROM #tt--將id連續數據分組WITH    t0 ( rowid, id, cn, groupid )          AS ( SELECT   rowid ,                        id ,                        cn ,                        1 AS groupid               FROM     #t               WHERE    rowid = 1               UNION ALL               SELECT   a.rowid ,                        a.id ,                        a.cn ,                        CASE WHEN a.id = b.id THEN b.groupid                             ELSE b.groupid + 1                        END groupid               FROM     #t a                        INNER JOIN t0 b ON b.rowid = a.rowid - 1             )

分組后的數據如下圖

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汾西县| 安西县| 克什克腾旗| 九江县| 新乡市| SHOW| 牡丹江市| 双牌县| 南江县| 桂平市| 江山市| 海淀区| 南雄市| 吉木萨尔县| 且末县| 临潭县| 崇仁县| 班戈县| 崇仁县| 鲜城| 晋城| 库伦旗| 开阳县| 安康市| 崇明县| 柘城县| 黄大仙区| 山东省| 繁峙县| 红河县| 广水市| 信阳市| 泾川县| 仁化县| 万全县| 凭祥市| 抚松县| 建湖县| 海伦市| 米泉市| 灌云县|