在 BigQuery 中,如果你在 SELECT 语句中同时使用 GROUP BY 和 ORDER BY,那么你就必须确保每个非聚合表达式都按照分组规则来分组。
例如,以下 SQL 查询会出现上述错误:
SELECT a, b, c FROM my_table GROUP BY a ORDER BY b
因为在这个查询中,b 字段不是按照分组规则来分组的。为了解决这个问题,我们需要在排序中包含所有的非聚合字段:
SELECT a, b, c FROM my_table GROUP BY a, b, c ORDER BY b
使用上述代码,我们解决了表达式未按照分组规则分组的问题。