自从更新 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 = '[email protected] /cdn-cgi/l/email-protection'
在没有 GROUP BY 的聚合查询中,SELECT 列表的表达式 #1
包含非聚合列“kontakt.u.id”;这是不兼容的
与 sql_mode=only_full_group_by
有谁知道如何修复此查询以对错误进行排序?
最简单的解决方案是 ANY_VALUE 函数:ANY_VALUE 官方文档 https://dev.mysql.com/doc/refman/8.0/en/miscellaneous-functions.html#function_any-value
SELECT name, ANY_VALUE(address), MAX(age) FROM t GROUP BY name;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)