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中被允许?
相关分类