windows函数和分组依据

6ovsh4lw  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(281)

我正在尝试运行此查询,但出现sql编译错误:[cast(ov.total_value as number(25,5))]不是有效的group by表达式

SELECT date_trunc('week', CREATED_AT) as WEEK, SUB_GROUP, AVG(TOTAL_VALUE) as AOV_VERTICAL, AVG(TOTAL_VALUE) OVER (PARTITION BY date_trunc('week', CREATED_AT))
FROM OV
GROUP BY 1,2

我有一个包含日期、子组和总值的表,我想要一个按周和子组列出平均总值的表,以及第二列按周列出平均值的表。
我在用雪花。
谢谢!

h79rfbju

h79rfbju1#

如果需要总体平均值,可以使用窗口函数:

SELECT date_trunc('week', CREATED_AT) as WEEK, SUB_GROUP,
       AVG(TOTAL_VALUE) as AOV_VERTICAL,
       SUM(SUM(TOTAL_VALUE)) / SUM(COUNT(*)) as overall_avg
FROM OV
GROUP BY 1,2

相关问题