猿问

MySQL - 选择不在Group By中的列

MySQL - 选择不在Group By中的列

我正在尝试向预先存在的应用程序添加功能,我遇到了类似这样的MySQL视图:

SELECT
     AVG(table_name.col1),
     AVG(table_name.col2),
     AVG(table_name.col3),
     table_name.personID,
     table_name.col4FROM table_nameGROUP BY table_name.personID;

好的,所以有一些聚合函数。您可以选择personID,因为您正在对其进行分组。但它也是选择一个不在聚合函数中的列,而不是GROUP BY子句的一部分。这怎么可能???它只是选择一个随机值,因为每个组的值绝对不是唯一的吗?

我来自哪里(MSSQL Server),这是一个错误。有人可以向我解释这种行为以及为什么它在MySQL中被允许?


跃然一笑
浏览 1072回答 3
3回答
随时随地看视频慕课网APP

相关分类

MySQL
我要回答