位置: 编程技术 - 正文

巧妙利用PARTITION分组排名递增特性解决合并连续相同数据行(巧妙利用谐音的广告语)

编辑:rootadmin

推荐整理分享巧妙利用PARTITION分组排名递增特性解决合并连续相同数据行(巧妙利用谐音的广告语),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:巧妙利用形式是什么三字俗语,巧妙利用形势的人三字俗语,巧妙利用旧床改造,巧妙利用旧床改造,巧妙利用形式是什么三字俗语,巧妙利用旧床改造,巧妙利用柱子做设计,在品牌设计中,大创意的巧妙利用,内容如对您有帮助,希望把文章链接给更多的朋友!

问题提出

先造一些测试数据以说明题目:

数据说明,ID列连续自增,列1和列2都是TFS中PBI的状态记录,就是从什么变更到什么,如新建到批准,批准到提交神马的

现在要求连续且相同的状态变更记录合并,不连续或者不同的状态变更保留,例如:

以上图为例,ID为1,4,5,6的记录都是从New到Approved状态,但是记录1与记录4、5、6不相邻,或者说不连续,那么就要分成两组,

记录1一组,记录4、5、6一组,其它记录因为状态变更不相同所以全部保留,最后的查询结果应该长成下图这个样子:

继续之前你可以先自己试下,这可能会带来新的解题思路,

解题思路

巧妙利用PARTITION分组排名递增特性解决合并连续相同数据行(巧妙利用谐音的广告语)

该问题的关键在于GROUP BY会把记录1、4、5、6合并在一起,而这不符合要求,仅需要合并4、5、6,源表里没有这样一个字段可以将记录1与记录4、5、6区分开来,这是解题的关键

这里可以利用RANK函数配合使用PARTITION关键字,首先把分到一组去,同时产生一个组内排名的新字段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函数

freetds简介、安装、配置及使用介绍 什么是FreeTDS简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库!FreeTDS是一个开源(如果你喜欢可以称为自由)的程序库,是TDS

一个函数解决SQLServer中bigint 转 int带符号时报错问题 有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志

SQLServer恢复表级数据详解 最近几天,公司的技术维护人员频繁让我恢复数据库,因为他们总是少了where条件,导致update、delete出现了无法恢复的后果,加上那些库都是几十G。恢

标签: 巧妙利用谐音的广告语

本文链接地址:https://www.jiuchutong.com/biancheng/320308.html 转载请保留说明!

上一篇:如何使用Visual Studio 2010在数据库中生成随机测试数据(如何使用灭火器的方法)

下一篇:一个函数解决SQLServer中bigint 转 int带符号时报错问题(sql函数的作用)

  • 购买的携税宝费用怎么做账?
  • 工资储备金制度
  • 资产负债表其他流动资产包括什么
  • 金税盘递减税款2022
  • 工会账户谁来管理
  • 投资收益做什么
  • 中小企业增值税税率
  • 哪些类型的合同无效
  • 永续盘存制的含义
  • 商业企业的商品销售额、职工人数是( )
  • 怎么确定印花税申报成功
  • 出差车费报销申请怎么写
  • 通用定额发票属于哪一类
  • 公司 捐赠
  • 应付账款扣除商业折扣
  • 公司的利润怎样分配
  • 成本法和权益法大白话
  • 服务行业营业成本包括财务费用和管理费用吗
  • 非货币性资产交换损益计算
  • 企业应纳税所得额计算例题
  • 公司发年终奖怎么发朋友圈
  • 不是房屋产权人可以卖房吗
  • 离职补偿金要交个税的例子
  • 如何冲销账面上的资金
  • 怎么查询发票记录
  • 通讯费税前扣除标准
  • 专票密码区出来一点能报吗
  • 民办非企业年底额度不能低于多少
  • 生产成本在资产负债表中怎么填
  • 财政拨款结余的明细科目
  • windows7使用方法
  • 增值税专用发票上注明的价款含税吗
  • el-table(type=“selection“)多选框两种回显
  • php二维数组查询指定值
  • php7.3
  • css获取id
  • php应用实例
  • 信息技术服务费税收编码
  • 财务管理中的折现率是指什么
  • 展会门票怎么入账
  • wordpress建立数据库失败
  • 加计扣除所得税处理
  • 金税盘长期不使用
  • 企业净利润怎么查询数据
  • 以固定资产换入无形资产
  • 购买货物对方代垫的运输费分录
  • 主营业务收入如何做分录
  • 中小型企业应收账款风险管理
  • 申购费从哪里扣
  • 变更法人流程和资料
  • 无形资产入账价值包括费用化支出吗
  • 赔偿金是营业外收入吗
  • 应付账款暂估会计分录怎么写
  • 租赁办公楼
  • 账簿凭证的管理要求
  • mysql怎么复制粘贴语句
  • 详解MySQL中ALTER命令的使用
  • sql server2008启动
  • mysql数据库的介绍
  • 除MSSQL数据库text字段中恶意脚本的删方法
  • xp系统怎么提升性能
  • 电脑开机自动弹出
  • win10系统设备管理器没有蓝牙
  • hidden word什么意思
  • macbookair控制面板
  • 如何解决win7系统转为xp系统出现蓝屏怎么办啊
  • window高级启动会怎么样
  • rsa加解密过程是什么
  • linux快速启动终端
  • html手机号验证
  • xcopy /s /e
  • js实现滑动开关功能
  • python如何读取字符串的一个一个字符
  • javascript修改
  • python网络编程从入门到精通
  • 内蒙古国家税务
  • 河南电子税务局官网app
  • 山西省国家税务局王旭斌局长
  • 矿山占用荒山是什么意思
  • 贝壳的贝壳分
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设