我有一个名为值的表包含3列 - 位置,价值,日期SQL - 月平均,而不是日均
我想工作,每月平均值
到目前为止,我
SELECT Location, Avg(value), date
FROM Value
GROUP BY Location, date
这将返回平均值,但每天输入一个值,所以我每天都有一个平均值,而不是每个月,我如何才能达到月平均值?
我有一个名为值的表包含3列 - 位置,价值,日期SQL - 月平均,而不是日均
我想工作,每月平均值
到目前为止,我
SELECT Location, Avg(value), date
FROM Value
GROUP BY Location, date
这将返回平均值,但每天输入一个值,所以我每天都有一个平均值,而不是每个月,我如何才能达到月平均值?
SELECT
Location,
year(date),
month(date),
Avg(value)
FROM
Value
GROUP BY
Location,
year(date),
month(date)
您可以使用下面的,如果你想每个月只有分组:
SELECT Location, Avg(value) AvgVal, Month(date) Mnth
FROM Value
GROUP BY Location, Month(date)
你甚至可以使用GROUPING SETS
,这将GROUP BY
一个月,一年,位置,然后给你一个总的所有:
SELECT Location,
Avg(value) AvgVal,
Month(dt) Mnth,
Year(dt) Yr
FROM yourtable
GROUP BY
GROUPING SETS((Month(dt), Year(dt), Location), (Location));
欢迎来到SO,@ user1505127。如果您找到可行的答案,请通过给予绿色支票给予奖励。这就是我们觉得有用的方式:) – PowerUser
年度信息怎么样?如果您只指定月份,则每年的同一月份将被同时平均(即2011年和2012年的AVG January等)。相对于包含年度信息(因此,2012年1月的AVG与2011年的1月不同)等。 –