我正在尝试按周数对平均分数进行分组,以便我可以显示平均值以及同一图表中的过滤平均值,但运行以下查询会返回错误。
错误:查询执行期间超出资源:无法在分配的内存中执行查询。用于PARTITION BY的排序运算符使用了太多内存..
Select
AVG(table.score) OVER (PARTITION BY cal.weeknum) as AVGScore
FROM
(Select CONCAT ((CAST(EXTRACT(YEAR FROM exam.start)AS
STRING))," ",(CAST(EXTRACT(WEEK(Monday) FROM meeting.start)AS
STRING))) AS WeekNum
FROM `dbo.data_source.exam` as
exam) as cal,
`dbo.data_source.table` as table
是否有任何使用较少资源的替代功能,或其他减少资源需求的方法
答案 0 :(得分:3)
您的问题不是partition by
。您的问题是FROM
子句中的逗号。您正在使用标准SQL,因此这是cross join
。
目前尚不清楚正确的加盟条件是什么。但您可以从删除逗号开始,并使用JOIN
子句中的连接条件使用正确的ON
语法。