MySQL ANY_VALUE() 函数

ANY_VALUE()函数对于启用了ONLY_FULL_GROUP_BY模式,使用GROUP BY进行查询时很有用;该函数用于抑制启用ONLY_FULL_GROUP_BY模式时导致的值拒绝;

官方例子:

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

发生错误的原因是address是非聚合列;

使用ANY_VALUE()解决:

SELECT name, ANY_VALUE(address), MAX(age) FROM t GROUP BY name;

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/mysql-any-value-function.html

分类: 计算机技术
推荐阅读:
golint是什么 Golint是一个Go语言源代码检测工具;Golint 用于检测诸如命令、注释、语法等代码是否规范。
Rust中宏与函数的区别 宏能够接受不同数量和类型的参数,这使得宏在处理多样化的输入时更加灵活。函数具有明确定义的参数列表和返回值类型,参数数量和类型通常是固定的。
IDLE是什么? IDLE是Python的一个集成开发与学习环境(Integrated Development and Learning Enviroment);与Python捆绑在一起,安装好Python以后,IDLE会自动安装;它使用Python 和Tkinter Gui编写。
Python dict()函数 在Python中,dict()函数用于创建一个字典对象。它可以接受不同类型的参数,并根据参数的不同生成字典对象。具体来说,dict()函数有以下三种使用方式:
Python divmod()函数 在Python中,divmod()函数是一个内置函数,用于将两个数字相除并返回商和余数。divmod()函数接受两个参数,分别是被除数和除数,并返回一个包含商和余数的元组。其中,商是两个数相除得到的结果,而余数是两个数相除后的余数部分。
Python round()函数 在 Python 中,round() 函数用于将一个浮点数四舍五入到指定的小数位数。它可以接受两个参数:要四舍五入的浮点数和指定的小数位数(默认为 0)。