select  oid, sum(F0003),round(avg(sum(F0071)/(sum(F0098)+sum(F0101))*100),4) from perf_sector_1x_c_3 group by oid请问如何解决?

解决方案 »

  1.   

    select  oid, sum(F0003),round(avg(F0071/(F0098+F0101)*100),4) from perf_sector_1x_c_3 group by oid;
      

  2.   

    原因在于,在sum外层又加了一层聚合函数avg,该条记录不同字段间已经不是同一维度了
      

  3.   

    select oid,ra,round(avg(rb),4)
    from
    (
    select  oid, sum(F0003) ra,sum(F0071)/(sum(F0098)+sum(F0101))*100) rb from perf_sector_1x_c_3 group by oid
    ) a,
    (select  oid, sum(F0003) ra from perf_sector_1x_c_3 group by oid) b
    where a.oid=b.oid(+)