首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

【】【周一】请教怎么按时间求平均值,比如按小时、天、月

2012-01-26 
【求助】【周一】请问如何按时间求平均值,比如按小时、天、月表如下:(有两列,数据列是float,记录时间是smalldate

【求助】【周一】请问如何按时间求平均值,比如按小时、天、月
表如下:
(有两列,数据列是float,记录时间是smalldatetime)

    数据                   记录时间
0.123456         2007-3-19   08:55:00
0.654321         2007-3-19   08:56:00
.......           ...................

求sql语句,可以求出每小时数据均值,每天数据均值,每月均值。

新手求助,希望大家不吝赐教。

[解决办法]
select avg(数据) as 小时均值
from t
group by convert(varchar(13),记录时间,120)

select avg(数据) as 每天均值
from t
group by convert(varchar(10),记录时间,120)

select avg(数据)as 每月均值
from t
group by convert(varchar(6),记录时间,120)



[解决办法]
--每小时数据均值
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 avg(数据) from table group by DATEPART(hh,记录时间)
select avg(数据) from table group by DATEPART(day,记录时间)
select avg(数据) from table group by DATEPART(month,记录时间)
[解决办法]
数据 记录时间
0.123456 2007-3-19 08:55:00
0.654321 2007-3-19 08:56:00
....... ...................

求sql语句,可以求出每小时数据均值,每天数据均值,每月均值。

每小时平均值
select substring(convert(varchar(19),记录时间,120),12,2) as 小时,avg(数据) from tb group by substring(convert(varchar(19),记录时间,120),12,2)

每天平均值
select substring(convert(varchar(19),记录时间,120),1,10) as 小时,avg(数据) from tb group by substring(convert(varchar(19),记录时间,120),1,10)

每月平均值
select substring(convert(varchar(19),记录时间,120),1,7) as 小时,avg(数据) from tb group by substring(convert(varchar(19),记录时间,120),1,7)

热点排行