码迷,mamicode.com
首页 > 数据库 > 详细

PCB MS SQL 排序应用---SQL相邻数据区间值求解

时间:2018-07-06 01:20:37      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:class   bubuko   sel   info   varchar   into   ima   处理   合并   

其中一篇 博文中有写《PCB MS SQL 排序应用---相邻数据且相同合并处理》此篇有也应相用也同的技巧,实现相邻数据区间值求解

示例:

原数据:处理前

技术分享图片

求出区间值:处理后

技术分享图片

 SQL 代码实现

DECLARE @table table(RowNo INT,FlowTechName VARCHAR(20))

INSERT INTO @table(RowNo,FlowTechName) VALUES(1,沉铜)
INSERT INTO @table(RowNo,FlowTechName) VALUES(4,钻孔)
INSERT INTO @table(RowNo,FlowTechName) VALUES(5,钻孔)
INSERT INTO @table(RowNo,FlowTechName) VALUES(6,钻孔)
INSERT INTO @table(RowNo,FlowTechName) VALUES(7,沉铜)
INSERT INTO @table(RowNo,FlowTechName) VALUES(10,沉铜)
INSERT INTO @table(RowNo,FlowTechName) VALUES(11,沉铜)
INSERT INTO @table(RowNo,FlowTechName) VALUES(15,钻孔)
INSERT INTO @table(RowNo,FlowTechName) VALUES(18,沉铜)
INSERT INTO @table(RowNo,FlowTechName) VALUES(20,钻孔)
INSERT INTO @table(RowNo,FlowTechName) VALUES(21,钻孔)
INSERT INTO @table(RowNo,FlowTechName) VALUES(22,钻孔)
 
SELECT * FROM @table

SELECT min(RowNo) minRank,MAX(RowNo) maxRank,FlowTechName
FROM 
  (SELECT FlowTechName,RowNo,row_number()over(partition by FlowTechName order by RowNo) -RowNo DiffVal 
  FROM @table) t
GROUP BY FlowTechName,DiffVal
ORDER BY MAX(RowNo)

 

PCB MS SQL 排序应用---SQL相邻数据区间值求解

标签:class   bubuko   sel   info   varchar   into   ima   处理   合并   

原文地址:https://www.cnblogs.com/pcbren/p/9270907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!