日期:2014-05-17  浏览次数:20436 次

如何在查询结果中加入一行平均值?
对SQL算是个打酱油的,向各位高手求助。
数据表结构如下

单位 月份 数据1 数据2 数据3 数据4
公司1 1 3.30  9.00  2.00  2.00 
公司2 1 4.20  9.60  2.10  2.00 
公司3 1 1.00  9.00  6.50  2.00 
公司1 2 3.00  2.00  2.00  7.80 
公司2 3 4.20  9.60  2.10  2.00 



我想查询某个月每个单位的数据情况,在查询结果的最后加上一行全部单位数据的平均值。

查某一个月的语句如下
select 单位, 数据1, 数据2, 数据3, 数据4 from DataTable where 月份 = Month

请问怎么在这个查询结果的最后加上一行平均值呢?
最后实现比如查询1月份的数据,能够得到下图中的结果


------解决方案--------------------
select 单位,数据1,数据2,数据3,数据4 from DataTable where 月份=1
union all
select isnull('平均','')单位,avg(数据1)数据1,avg(数据2)数据2,avg(数据3)数据3,avg(数据4)数据4 from DataTable where 月份=1 

/*单位         数据1                    数据2                    数据3                    数据4
---------- ---------------------- ---------------------- ---------------------- ----------------------
公司1        3.3                    9                      2                      2
公司2        4.2                    9.6                    2.1                    2
公司3        1                      9                      6.5                    2