将多个表的数据union 到一个表,然后求平均值?怎么用一条语句写
比如将kh0601(dm,point),kh0602(dm,point)合到一个表,按dm求point的平均值?

解决方案 »

  1.   

    select dm , avg(point) as point from
    (
      select * from kh0601
      union all
      select * from kh0601
    ) t
    group by dm
      

  2.   

    select avg(point) from 
    (
    select dm,point from kh0601 union all
    select dm,point from kh0602
    ) a
    group by dm
      

  3.   


    select dm,point=avg(point) 
    from
    (
    select dm, point from kh0601
    union all
    select dm, point from kh0602
    )tmp 
    group by dm
      

  4.   

    多个合成一个,打上括号作为子查询,再对子查询未平均。
    注意,1、union时字段类型必须相同
          2、union与union all的区别