国产探花免费观看_亚洲丰满少妇自慰呻吟_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             )

分組后的數據如下圖

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀宁县| 报价| 彭水| 新安县| 九龙城区| 西宁市| 墨脱县| 都江堰市| 高雄市| 综艺| 崇信县| 南溪县| 南涧| 井陉县| 三门峡市| 甘孜县| 于都县| 应城市| 长兴县| 灵丘县| 墨竹工卡县| 竹山县| 武乡县| 墨玉县| 岑溪市| 突泉县| 梁平县| 华池县| 阿拉善盟| 台南市| 宁晋县| 织金县| 迁安市| 鹤庆县| 从江县| 辽宁省| 页游| 江北区| 西城区| 连州市| 肃南|