当前位置: 代码迷 >> Sql Server >> 大神,如何把sql查询结果12行成一段的取出来,然后分别求每段的平均值(具体内容在里面)
  详细解决方案

大神,如何把sql查询结果12行成一段的取出来,然后分别求每段的平均值(具体内容在里面)

热度:38   发布时间:2016-04-24 08:57:42.0
求助大神,怎么把sql查询结果12行成一段的取出来,然后分别求每段的平均值(具体内容在里面)
我的查询结果是这样的

现在要把每年的月平均加起来除以12,就是求个平均值,作为年平均。
然后最后要把年平均的结果和以上的结果混合成一张这样的表


我的查询语句是:
SELECT CONVERT(CHAR(7),da,121) AS 日期,avg(tv) as 月平均  FROM chuxiong  
WHERE year(da) BETWEEN 1963 AND 1990
GROUP BY CONVERT(CHAR(7),da,121)
order by 日期 asc



我怎么才能求出年平均然后把查询结果显示成混合表的样子呢?
求助求助,拜托大神!

------解决思路----------------------
差了个from
select [日期],[1] 一月,[2] 二月,[3] 三月,[4] 四月,[5] 五月,[6] 六月,[7] 七月,[8] 八月,[9] 九月,[10] 十月,[11] 十一月,[12] 十二月
from 
(select year(da) as [日期],month(da) as [month],tv from chuxiong) as a
pivot (avg(tv) for [month] in([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) as b

------解决思路----------------------
引用:
哦对了,我怎么把这个结果取小数点后两位就好了呢?


convert(decimal(18,2), T2.avgvr)   大概这么转下就可以了。
  相关解决方案