有如下一张表
id      d_lrrq            A1   A2  A3   A4   A5   A6   A7  A8   A9   A10
1   2010-12-8 12:02:20   2.0  2.5  2.8  1.0  2.5  2.5  2.3 2.5  2.6  5.5
2   2010-12-8 12:02:20   2.0  21.5  2.8  3.0  3.5  2.5  2.3 2.5  8.6  3.5
3   2010-11-9 12:02:20   4.0  12.5  2.8  1.0  2.5  2.5  7.3 8.5  9.6  8.5
4   2010-12-9 12:02:20   34.0 2.5  3.8  1.0  7.5  78.5  2.3 2.5  2.6  3.5
5   2010-12-9 12:02:20   23.0 2.5  34.8  1.0  2.5  2.5  2.3 2.5  8.6  0.5
6   2010-12-9 12:02:20   26.0 2.5  2.8  1.0  2.5  2.5  2.3 2.5  2.6  3.5怎么样统计出A1到A10的日平均值和月平均值!!
新手,请高手帮忙!

解决方案 »

  1.   

    --日平均
    select d_lrrq ,avg(A1),...
    from tablename
    group by d_lrrq--月平均
    select to_char(d_lrrq,'yyyy-mm'),avg(A1)...
    from tablename
    group by to_char(d_lrrq,'yyyy-mm')
      

  2.   

     补充一下:就是查询出
    id   d_lrrq  日平均   月平均  这四个字段的值,日平均和月平均是A1-A10十个数的和的日平均,月平均。。
      

  3.   

    d_lrrq字段存储的日期精确到秒怎么生成月平均字段!~~~
    我看这不简单,建议用存储过程处理吧
      

  4.   

    ---日
    with tb2 as
    (select trunc(dt) dt,sum(a1)+sum(a2)+sum(a3)+sum(a4)+sum(a5)+sum(6)+sum(a7)+sum(a8)+sum(a9)+sum(a10) sm,
    sum(decode(sign(a1),1,1,0)+decode(sign(a2),1,1,0)+decode(sign(3),1,1,0)+decode(sign(a4),1,1,0)+decode(sign(a5),1,1,0)+decode(sign(a6),1,1,0)+decode(sign(a7),1,1,0)+
    decode(sign(a8),1,1,0)+decode(sign(a9),1,1,0)+decode(sign(a10),1,1,0)) cnt
    from tb group by trunc(dt))
    select dt,round(sm/cnt,2) avg_total from tb2---月
    with tb2 as
    (select trunc(dt,'mm') dt,sum(a1)+sum(a2)+sum(a3)+sum(a4)+sum(a5)+sum(6)+sum(a7)+sum(a8)+sum(a9)+sum(a10) sm,
    sum(decode(sign(a1),1,1,0)+decode(sign(a2),1,1,0)+decode(sign(3),1,1,0)+decode(sign(a4),1,1,0)+decode(sign(a5),1,1,0)+decode(sign(a6),1,1,0)+decode(sign(a7),1,1,0)+
    decode(sign(a8),1,1,0)+decode(sign(a9),1,1,0)+decode(sign(a10),1,1,0)) cnt
    from tb group by trunc(dt))
    select dt,round(sm/cnt,2) avg_total from tb2
      

  5.   

    哎你把上次你发的帖子,采纳的答案稍微修改下就行了
    以前group by id d_lrrq,
    现在你改成group by id ,trunc(d_lrrq,'mm')求月平均group by id ,trunc(d_lrrq,'y')求年平均