在BigQuery中,如果您在窗口的ORDER BY子句中引用了未分组或未聚合的列,可能会收到类似于“BigQuery错误代码:窗口ORDER BY表达式引用了未分组或聚合的列start_date。”的错误消息。这通常发生在您使用窗口函数时,窗口函数需要在ORDER BY子句中指定排序顺序。
为了解决这个问题,您可以按照以下步骤进行操作:
例如,假设您的查询类似于以下示例:
SELECT start_date, COUNT(*) OVER (PARTITION BY category) as count
FROM my_table
ORDER BY start_date
在这种情况下,您可以将未分组的列start_date
添加到GROUP BY子句中,如下所示:
SELECT start_date, COUNT(*) OVER (PARTITION BY category) as count
FROM my_table
GROUP BY start_date, category
ORDER BY start_date
例如,假设您的查询类似于以下示例:
SELECT start_date, COUNT(*) OVER (PARTITION BY category) as count
FROM my_table
ORDER BY start_date
在这种情况下,您可以将ORDER BY子句移动到外部查询中,如下所示:
SELECT *
FROM (
SELECT start_date, COUNT(*) OVER (PARTITION BY category) as count
FROM my_table
)
ORDER BY start_date
通过按照上述步骤进行更改,您将能够解决“BigQuery错误代码:窗口ORDER BY表达式引用了未分组或聚合的列start_date。”的问题,并正确使用窗口函数进行排序。
上一篇:BigQuery错误表明超过速率限制,即使没有100个并发作业
下一篇:BigQuery错误信息 - 未找到:在位置US中未找到数据集shaley-397718:bigquery-public-data。