位置: 编程技术 - 正文

巧妙利用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函数的作用)

  • 增值税纳税申报时间
  • 递延所得税负债转回怎么理解
  • 所得税费用税前扣除项目
  • 已开普通发票记账联丢失怎么办?
  • 支付宝收付款如何关闭
  • 汇算清缴时有哪些需要调整的项目
  • 会务费税前扣除材料
  • 哪些企业税收优惠
  • 手工记账需要什么资质
  • 网上银行 电子回单
  • 母公司给子公司担保需要决议吗
  • 企业国有资产无偿划拨管理暂行办法
  • 增值税普通发票申报
  • 增值税专用发票验票
  • 装修行业一般纳税人税负率是多少
  • 个税生产经营所得B表在哪里
  • 应付供货单位的货款属于什么会计科目
  • 房地产开发劳务合同范本
  • 税金计提多了怎么办
  • 客户到款打到子公司账上如何转回
  • 施工企业劳务
  • 挂靠别人的资质进行房屋建筑会计怎样做账?
  • 税务局返还的个税手续费需要缴纳增值税吗
  • 其他债权投资有哪些明细科目
  • 报销费用多付会计分录
  • windows 10预览版
  • 土地使用税的税目写什么
  • php设计模式及使用场景
  • 工会经费计提基数包括绩效工资吗
  • php返回数据给ajax
  • 中药饮片适用增值税税率
  • 国内版的chatpdf
  • autoscle
  • 残保金如何缴纳残疾人工资如何扣除
  • 筹建期的费用计入什么科目
  • 文章初审过了
  • php7安装mysqli扩展
  • php网站访问量大怎么优化
  • 中间业务收入怎么入账
  • 网红产品的推广文案
  • 成本费用利润率越高越好吗
  • 发票冲红和作废有啥区别
  • 调减加计抵减额什么意思
  • 哪些科目会影响损益
  • 小规模纳税人能开6%增值税专用发票吗
  • 无形资产发生减值后怎么摊销
  • 工会经费计提比例是应发工资还是实发工资
  • 建筑工程人工费调整
  • 其他综合收益核算的内容及会计处理
  • 税控服务费全额抵扣怎么申报
  • 增值税发票种类三种
  • 押金可不可以抵房租
  • 代收代缴水电费如何开票
  • 公司提供给员工暂借款未还款离职
  • 进项税额转出可以在所得税前扣除吗
  • 专项应付款余额转入资本公积的规定
  • 可供出售金融资产属于什么科目
  • win10预览版退回正式版
  • XP系统安装不了游戏
  • 硬盘磁盘保护
  • WinAce.exe - WinAce是什么进程
  • 彻底删除ubuntu系统
  • 怎么重置mysql的密码
  • unity如何避免碰撞穿透
  • js获取指定元素
  • Spring+MyBatis+Velocity+BootStrap实现Android混合App快速高效服务端
  • 手机gpu过度绘制
  • unity2d图片调后一层
  • 利用职务之便谋取私利是什么罪
  • 学习雷锋好榜样
  • 复杂的字
  • acrag
  • jquery获取url地址
  • flask框架下使用scrapy框架
  • 国家税务总局的局长什么级别
  • 党建共建的目的
  • 保险发票属于什么类型发票
  • 建筑公司报销流程
  • 财税公众号名称大全
  • oecd是什么意思的缩写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设