zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    引用的难点:函数返回值是引用(引用当左值)
    引用的意义与本质
    引用做函数参数
    Uva
    Uva
    Uva
    暑假集训-8.06总结
    暑假集训-8.05总结
    CH1801( 括号画家)
    最大异或对
  • 原文地址:https://www.cnblogs.com/pcbren/p/9270907.html
Copyright © 2011-2022 走看看