PCB MS SQL 排序应用---SQL相邻数据区间值求解
其中一篇 博文中有写《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)
作者:pcbren 微信号:yadnfku QQ号: 254566449
博客地址:https://www.cnblogs.com/pcbren/
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
如果大家感觉我的博文对大家有帮助,请推荐支持一把。