Dto*_*heG 5 sql t-sql sql-server sql-server-2008
我有一个名为值的表,包含3列 - 位置,值,日期
我想计算出每月的平均价值
到目前为止我有
SELECT Location, Avg(value), date
FROM Value
GROUP BY Location, date
Run Code Online (Sandbox Code Playgroud)
这会返回平均值,但是每天输入一个值,因此我每天平均而不是每月平均值,我怎样才能达到月平均值?
试试这个:
SELECT Location,
Avg(value),
month(date),
year(date)
FROM Value
GROUP BY Location,
month(date),
year(date)
Run Code Online (Sandbox Code Playgroud)
如果您只想要按月分组,则可以使用以下内容:
SELECT Location, Avg(value) AvgVal, Month(date) Mnth
FROM Value
GROUP BY Location, Month(date)
Run Code Online (Sandbox Code Playgroud)
您甚至可以使用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));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21747 次 |
| 最近记录: |