在外面嵌套一层select可以不用写where语句中的计算公式,不过效率并不好。

解决方案 »

  1.   

    能否请feng2说清楚一些?最好写一下,本人对Oracle不熟
      

  2.   

    我来玩玩儿:
    select decode ( X.sum20_30, 0, 0, 
                     100 * (X.sum30 / X.sum20_30) 
                  )
      from (
              select NVL(sum(RLC_data_blocks_UL_CS2*30),0) sum30,
                     NVL(Sum(RLC_data_blocks_UL_CS1*20 + RLC_data_blocks_UL_CS2*30),0) sum20_30
                from A
               WHERE UL_CS2_RATE > 80
           ) X ;
      

  3.   

    错了,重发:
    select decode ( X.sum20_30, 0, 0, 
                     100 * (X.sum30 / X.sum20_30) 
                  ) UL_CS2_RATE
      from (
              select NVL(sum(RLC_data_blocks_UL_CS2*30),0) sum30,
                     NVL(Sum(RLC_data_blocks_UL_CS1*20 + RLC_data_blocks_UL_CS2*30),0) sum20_30
                from A
               
           ) X 
      WHERE UL_CS2_RATE > 80;