现在我有如下的表数据
Date Value SiteId
2016-03-23 00:05:00.000 245833.0152000000 1
2016-03-23 00:10:00.000 150117.9056000000 1
2016-03-23 00:15:00.000 279134.5132500000 1
2016-03-23 00:20:00.000 146963.7195700000 1
2016-03-23 00:25:00.000 152732.6481400000 1
2016-03-23 00:30:00.000 136986.6713100000 1
2016-03-23 00:35:00.000 340922.0038000000 1
2016-03-23 00:40:00.000 263542.3197700000 1
2016-03-23 00:45:00.000 218160.9406900000 1
2016-03-23 00:50:00.000 150001.5314700000 1
2016-03-23 00:05:00.000 245833.0152000000 2
2016-03-23 00:10:00.000 150117.9056000000 2
2016-03-23 00:15:00.000 279134.5132500000 2
2016-03-23 00:20:00.000 146963.7195700000 2
2016-03-23 00:25:00.000 152732.6481400000 2
2016-03-23 00:30:00.000 136986.6713100000 2
2016-03-23 00:35:00.000 340922.0038000000 2
2016-03-23 00:40:00.000 263542.3197700000 2
2016-03-23 00:45:00.000 218160.9406900000 2
2016-03-23 00:50:00.000 150001.5314700000 2
还有一个表是链接SiteId对应的名字SiteName
数据是几年内的,每天每隔五分钟有一条记录。
现在想得到这样的表,
第一年是 年月
第二列是 SiteName
第三列是时间点(从00:05:00.000到第二天的00:00:00.000)
第四列是这一个时间点 在这一个月内 ,特定的SiteName下的value的平均值
简单点的话, 只考虑是一年内的数据, 并指定了SiteName和月份的话, 可以这么写:
SELECT convert(char(8),[Date],108) as T, AVG([value]) as Average
FROM t1
where DATEPART(mm,[Date])= 3 --Month
and [SiteId] = (select [Id] from t2 where [SiteName] = 'BBB') --Site
group by convert(char(8),[Date],108)
如果加上两列 年月 和SiteName的话, 该怎么写呢
求大虾帮忙