初学Oracle数据库,遇到一个问题。查询数据时,求每个ID号的月平均值,例子如下:如果用AVG函数,则求出来ID201的平均值为20没错,但是ID202的平均值为10,其实5月份为0,正确的结果是(10+20)/2=15才对。请问我怎么写我的SQL语句

解决方案 »

  1.   

    加个条件
    where 值 > 0
      

  2.   

    这个方案我试过了,不行的,会提示“ORA-00937: 不是单组分组函数”,我觉得应该是ID号的问题,因为一个ID对应多个月份,不仅仅是我列出的三个月份
      

  3.   

    SELECT 手机号码,AVG(DECODE(月总流量,0,NULL,月总流量)) FROM TABLE
      

  4.   

    我已经用这条语句解决了:
    select ID,avg(值)
    from
    where 值<>0
    group by ID 
    感谢大家!