位置: 编程技术 - 正文

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

  • 计提印花税如何计算
  • 出口免税产品如何缴纳附加税
  • 手工发票可以抵增值税吗
  • 长期待摊销费用属于什么类科目
  • 股东将投资款转入个人账户
  • 政策性用房包括哪些
  • 货币的兑换是怎么决定的
  • 公司房产税如何征收税率
  • 售后维修费怎么开票
  • 委托加工模具的费用计入什么科目?
  • 主营业务收入具体是什么
  • 补提固定资产折旧账务处理
  • 预付的账款属于
  • 个体工商户如何给员工交社保
  • 不用发票可以报销吗
  • 风险纳税人不允许领用发票
  • 应交税费借方余额填列资产负债表
  • 更正申报以前个税的处理方法
  • 公司为员工交的五险一金到底是怎么回事
  • 城市垃圾处理项目
  • 原材料计入资产成本吗
  • 固定资产折旧金额影响因素
  • 没有走公户的发票费用怎么做账
  • 电子税务局发送短信异常是怎么回事
  • 企业股权融资方式有哪些
  • 如何修复win10开机转圈五分钟
  • openeuler安装gnome
  • 月初在产品成本+本月生产费用
  • php @method
  • 投资中间人要担什么责任
  • 计算机视觉姿势评估英语
  • php使用while循环计算1到100的和
  • 工业企业应付账款周转率多少合适
  • Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)
  • 百度文心一言对未来商业的影响
  • vue鼠标悬浮菜单
  • 休产假期间社保个人部分怎么办
  • 怎么买好空调
  • 增值税返还需要交增值税吗
  • 日主题ripro v8.1破解版(修复缓存器功能)
  • 土地给人家种了几十年还能要回来吗
  • 招待费专票不可以抵扣
  • 公司购买理财产品收益会计分录
  • 印花税减免计入什么科目
  • 长期待摊费用的摊销期限应该是
  • 代缴车险
  • 主营业务成本记借方还是贷方
  • 未确认收入的会计分录
  • 扣缴个人所得税报告表
  • 租地青苗补偿问题
  • 结转清理净损失怎么算
  • 税务局退还的三险是什么
  • 划转税务的非税收入包括
  • 什么情况下需要打狂犬疫苗
  • 其他应收款的认定
  • 总公司是一般纳税人分公司是什么
  • 哪些固定资产不计提折旧
  • 判断数据库表是否为空
  • mac电脑文件夹怎么重命名
  • PHP time_nanosleep() 函数使用介绍
  • windows8连wifi
  • 如何进入xp系统
  • macos技巧
  • win8虚拟内存怎么设置最好
  • cocos2d用什么语言开发游戏
  • js如何创建类
  • vue router 组件
  • linux搭建ftp服务器
  • python爬虫视频教程
  • Material Design:利用RecyclerView CardView实现新闻卡片样式
  • Python实现类似jQuery使用中的链式调用的示例
  • Python编程中装饰器的使用示例解析
  • 不含税价是除以1.13还是乘以0.87
  • 无锡医疗保险缴费比例
  • 税务局 环保税
  • 大乐透中奖查询走势图
  • 厦门地税电话客服电话
  • 江苏省人大有信访工作吗
  • 保险公司的人可以查到买保险的人都买了什么保险吗
  • 湖北低保查询网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设