每个月月底当天出月平均,如何算到当月月底的日平均会效率些呢?(当前月底是哪个月要从取得的数据中判断,二月份还分平年闰年)例如:
日期 月平均
20120131 100
20120229 200
20120331 110
则到当前月底日平均为(100*31+200*29+110*31)/(31+29+31)如何写sql语句可以效率些算日平均.
日期 月平均
20120131 100
20120229 200
20120331 110
则到当前月底日平均为(100*31+200*29+110*31)/(31+29+31)如何写sql语句可以效率些算日平均.
--> 测试数据:[tbl]
go
if object_id('[tbl]') is not null
drop table [tbl]
go
create table [tbl](
[日期] datetime,
[月平均] int
)
go
insert [tbl]
select '20120131',100 union all
select '20120229',200 union all
select '20120331',110go
select SUM(DATEPART(dd,[日期])*[月平均])
/SUM(DATEPART(dd,[日期])) as 到当前月底日平均为
from tbl where [日期]<=GETDATE()/*
到当前月底日平均为
148
*/
DATEPART(dd,[日期])*[月平均]--此处求你当月天数*月平均数
)--求和(按照你的公式来的)
/SUM(DATEPART(dd,[日期])) as 到当前月底日平均为
from tbl where [日期]<=GETDATE()