【发布时间】:2020-12-02 13:46:50
【问题描述】:
假设我有一个天气表:
MONTH, DAY, LOW
6, 1, 67.47084426063374
6, 2, 66.90195288599919
6, 3, 62.16084275276963
我想选择当月的平均低温并尝试这样做:
SELECT t.* FROM (
select p.month, avg(p.low) over (partition by p.month) avg_low
from table p
) t;
平均工作正常,但我得到了 3 条重复记录。如何只返回一条记录?
(另外,当我尝试对这些 round(avg(p.low),2) 进行四舍五入时,我被告知“未在预期的位置找到 FROM 关键字”)
【问题讨论】:
-
你在avg_low后面加了一个逗号,请去掉。
标签: sql oracle aggregate-functions window-functions