SELECT A.MC,B.MC,MAX(C.MC) 去重列,MAX(A.MC||'|'||B.MC||'|'||c.mc)绑定后名称,MIN((A.CY+B.CY+C.CY)/(A.GR+B.GR+C.GR+0.01)*100)线损率
FROM T_PD_XS_YXS A,T_PD_XS_YXS B,T_PD_XS_YXS C WHERE(A.CY+B.CY+C.CY)/(A.GR+B.GR+C.GR+0.01)*100<9.5
AND(A.CY+B.CY+C.CY)/(A.GR+B.GR+C.GR+0.01)*100>0.5 GROUP BY A.MC,B.MC上面是我的脚本,但是在合格范围内,有重复,要求,各个行,mc 列,在合格范围内只参与一次计算,且组合数量是最多的,我上传一些数据源,其中,mc 列数据是唯一的MC GR GC CY XSL SSJ 线损率
霞阳变电站923 1 2226853.23 -2226852.23 -222685223 海沧 -221945405
鼎美变电站914 2947800 3593541.33 -645741.33 -21.905873194 海沧 -21.90587317
鼎美变电站916 1074360 2169550 -1095190 -101.938828698 海沧 -101.9388284
洪塘头变电站924 933120 2012780 -1079660 -115.704303841 集美 -115.7043034
鸿山变电站941 120160 2851610 -2731450 -2273.177430093 思明 -2273.177367
梧侣变电站932 1 1573855 -1573854 -157385400 同安 -156862524.9
将军祠变电站921 2232000 2543777.5 -311777.5 -13.968525986 思明 -13.96852596
将军祠变电站931 1864400 1986198 -121798 -6.532825574 思明 -6.532825562
京口变电站971 3737984 9795080 -6057096 -162.041785091 海沧 -162.0417849
李林变电站918 1474440 1493040 -18600 -1.26149589 集美 -1.261495887
龙山变电站936 447720 381367 66353 14.820200125 思明 14.82020001
美仁变电站941 851760 970839 -119079 -13.980346577 思明 -13.98034652
前埔变电站922 952200 803363 148837 15.630854862 思明 15.63085481
内官变电站971 360 0 360 100 翔安 99.99907408
前埔变电站947 1577640 1354665 222975 14.133452499 思明 14.13345247
双涵变电站945 1910760 1705214 205546 10.757290293 思明 10.75729027
深青变电站917 1413000 1460653.5 -47653.5 -3.372505308 集美 -3.3725053
双涵变电站971 2268000 2029753 238247 10.504717813 思明 10.5047178
西郭变电站937 1429200 1265848 163352 11.429610971 思明 11.42961094
田洋变电站948 1166400 993214.43 173185.57 14.847871228 同安 14.84787119
鸿山变电站907 769440 960084 -190644 -24.776980661 思明 -24.77698055
莲坂变电站925 862800 1970051.25 -1107251.25 -128.332319193 思明 -128.3323187
前埔变电站915 1143240 886543 256697 22.453465589 思明 22.45346552
梧侣变电站922 6240 2608065.6 -2601825.6 -41695.923076923 同安 -41695.9008
梧侣变电站974 1552560 3488350.28 -1935790.28 -124.683766167 同安 -124.6837659
双涵变电站913 1304280 1135711.45 168568.55 12.924260895 思明 12.92426086
新垵变电站917 176160 176216 -56 -0.031789282 海沧 -0.031789282
新阳变电站911 206400 206650 -250 -0.121124031 海沧 -0.121124029
新阳变电站916 385920 1380581.5 -994661.5 -257.737743574 海沧 -257.7377413
新阳变电站918 1104120 1166943.4 -62823.4 -5.689906894 海沧 -5.689906877
杏南变电站913 271920 926051.33 -654131.33 -240.560212563 集美 -240.5602096
杏南变电站916 443040 652799.66 -209759.66 -47.345535392 集美 -47.34553504
曾厝垵变电站946 90240 5610756.67 -5520516.67 -6117.593827571 思明 -6117.593602

解决方案 »

  1.   

    T_PD_XS_YXS 数据表名称,
    数据对应如下,
    MC               GR  GC                   CY                  XSL                 SSJ   线损率
    霞阳变电站923 1 2226853.23 -2226852.23 -222685223 海沧    -221945405最上面数据可以直接粘excel 然后计算,
    现在计算数量太多,每条“霞阳变电站923” 这样的数据只能参与一次计算,或者使用一次,请大神帮忙 写个脚本,计算出所有组合中,合格率最高的组合中的清单
      

  2.   

    其他问题请都忽略把,现在问题就是去重复的
    请求用脚本筛选出图片中图1,得到图2 的结果,原则是, 里面随时都有可能重复的,去重行,要求a1列,b1列,c1列,中出现的重复数据最多,就去除行,
    例如,d3行,d22行,如果出现重复数量一样多,就随便去,没有要求
      

  3.   

    说真的,完全没看明白你的意思:
    1.A1,B1,C1 对应的值就是:A1,B1,C1 
    2.D3的值为空。
    3.D22在你的截图中都没有。
      

  4.   

    A,B.C三列只要有重复的,就去掉。最后只随机保留一行?
      

  5.   

    业务性比较强,不带理解,可以试试用oracle 分析函数(有个用法)重复数据,例如select
          custid, 
          name, 
          sexcd, 
          pertypecd, 
          revetypecd, 
          age, 
          occupcd, 
          nationalitycd, 
          peridecd, 
          regplace, 
          maritalstacd, 
          certypecd, 
          cerno, 
          handisign, 
          workunit, 
          addr, 
          tel, 
          state, 
          statetime, 
          createtime, 
          updatetime,
         row_number() over (partition by a.tel order by a.createtime desc) rn
        from   t_cust_info a 
        ) c
        where  rn >1;