本文主要是介绍MySQL 学习 之 ONLY_FULL_GROUP_BY 解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1. 缘由
- 2. 解决
1. 缘由
当 MySQL
的版本为 5.7+
时,在执行 group by
时,如果 select
的字段不在 group by
中,
并且 select
的字段未使用聚合函数(SUM、AVG、MAX、MIN 等)
的话,就会报错。
mysql> SELECT name, address, MAX(age) FROM t GROUP BY name;
ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP
BY clause and contains nonaggregated column 'mydb.t.address' which
is not functionally dependent on columns in GROUP BY clause; this
is incompatible with sql_mode=only_full_group_by
2. 解决
使用 ANY_VALUE
函数
这里需要注意,ANY_VALUE()
会选择被分到 同一组
的数据里 第一条数据
的指定列值作为返回数据
这篇关于MySQL 学习 之 ONLY_FULL_GROUP_BY 解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!