表如下:
(有两列,数据列是float,记录时间是smalldatetime)
data time
0.123456 2006-03-19 08:55:00
....... ....................
0.654321 2007-03-19 18:56:00
....... ...................
给定一个时间范围,比如2006-10-01 00:00:00 到2007-01-01 00:00:00
求sql语句,可以求出每小时数据均值,每天数据均值,每月均值。
得到的结果要data和time字段都有。
在线等高手指点,马上给分。
------解决方案--------------------
--每小时数据均值
Select
Convert(Varchar(13), 记录时间, 120) As 记录时间,
AVG(数据) As 每小时数据均值
From
TableName
Group By Convert(Varchar(13), 记录时间, 120)
--每天数据均值
Select
Convert(Varchar(10), 记录时间, 120) As 记录时间,
AVG(数据) As 每天数据均值
From
TableName
Group By Convert(Varchar(10), 记录时间, 120)
--每月均值
Select
Convert(Varchar(7), 记录时间, 120) As 记录时间,
AVG(数据) As 每月均值
From
TableName
Group By Convert(Varchar(7), 记录时间, 120)
---------
這個不行?
------解决方案--------------------
select right(convert(varchar(13),time,120),2) as 每小时 , avg(data) 每小时数据均值 from tb group by right(substring(varchar(13),time,120),2)
select convert(varchar(10),time,120) as 每天 , avg(data) 每天数据均值 from tb group by convert(varchar(10),time,120)
select convert(varchar(7),time,120) as 每月 , avg(data) 每月数据均值 from tb group by convert(varchar(7),time,120)