mysql - 选择列表包含非聚合列

标签 mysql mysql-error-1055

自从更新 MySQL 我注意到下面的查询失败了

SELECT u.*, p.name as plan, COUNT(u.id) as totalprojects FROM users u LEFT JOIN plans p ON p.id = access LEFT JOIN maps m ON m.user_id = u.id WHERE u.email = 'john@doe.com'

In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'kontakt.u.id'; this is incompatible with sql_mode=only_full_group_by

有谁知道如何修复此查询以对错误进行排序?

最佳答案

最简单的解决方案是 ANY_VALUE 函数: ANY_VALUE official documentation

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

关于mysql - 选择列表包含非聚合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40136012/

相关文章:

php - 执行存储在数据库中的 PHP 代码

php - 如何比较来自同名mysql的不同表的值

mysql - 选择 SELECT 中的多个列时,使用 GROUP BY 和 ORDER BY 的查询不起作用

mysql - 如何解决 SELECT 列表不在 GROUP BY 子句中且包含非聚合?

mysql - UNION 失去了对 GROUP BY 列的功能依赖

mysql - MySQL 5.0升级到5.7后出错

MySQL : isn't in GROUP BY

php - codeigniter 日期和时间在 View 中无法正确转换

mysql - 将列日期设置为另一个表日期列加上 30 天

mysql - 合并来自同一个表的 2 个 MYSQL 计数查询