日期:2014-05-18  浏览次数:20365 次

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

------解决方案--------------------
select dm , avg(point) as point from
(
select * from kh0601
union all
select * from kh0601
) t
group by dm
------解决方案--------------------
select avg(point) from
(
select dm,point from kh0601 union all
select dm,point from kh0602
) a
group by dm
------解决方案--------------------

select dm,point=avg(point)
from
(
select dm, point from kh0601
union all
select dm, point from kh0602
)tmp
group by dm
------解决方案--------------------
多个合成一个,打上括号作为子查询,再对子查询未平均。
注意,1、union时字段类型必须相同
2、union与union all的区别