我有一个包含两列的表格:date
和 price
。它们都不是独一无二的。
我需要按唯一的日期顺序获取运行总计(一个日期 - 此日期的值总和,下一个日期 - 下一个总和 + 前一个等等)。
我知道如何使用子查询来做到这一点,但我想使用窗口函数:
有一个简单的查询:
SELECT f.date, SUM(f.price) OVER () FROM f GROUP BY f.date
它返回错误:
column
f.price
must appear in theGROUP BY
clause or be used in an aggregate function
但我已经使用了聚合函数 (SUM
)。
有人能告诉我为什么会这样吗?
最佳答案
尽量避免 over()
select f.date,
SUM(f.price)
from f
group by f.date
关于sql - 列 "f.price"必须出现在 GROUP BY 子句中或用于聚合函数中,但我已经使用了窗口函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55406101/