每个 group by 表达式必须至少包含一个不是外部引用的列。_神奇的 SQL 之层级:为什么 GROUP BY 之后不能直接引用原表中的列...
时间: 2024-03-31 07:37:54 浏览: 56
这是因为在 GROUP BY 之后,查询结果已经被分组,而这些分组是按照 GROUP BY 表达式的结果来划分的。如果在 SELECT 子句中直接引用原表中的列,那么这些列对应的值将不是唯一的,因为它们属于不同的分组。这导致无法正确地计算聚合函数的值,例如 SUM、AVG、MAX、MIN 等。因此,每个 GROUP BY 表达式必须至少包含一个不是外部引用的列,以确保查询结果正确分组。
阅读全文