Mysql 错误:sql(PHP)中的sql_mode=only_full_group_by

Mysql 错误:sql(PHP)中的sql_mode=only_full_group_by,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我得到这个错误: 致命错误:未捕获PDOException:SQLSTATE[42000]:语法错误或访问冲突:1140在没有分组依据的聚合查询中,选择列表的表达式#1包含未聚合列“KC_movies.tmdb_movies.movie_title”;这与sql\u mode=only\u full\u group\u by不兼容 如何修复它 这是我的代码: $stmt = $conn->prepare("SELECT tmdb_movies.movie_title ,GROUP_CON

我得到这个错误:

致命错误:未捕获PDOException:SQLSTATE[42000]:语法错误或访问冲突:1140在没有分组依据的聚合查询中,选择列表的表达式#1包含未聚合列“KC_movies.tmdb_movies.movie_title”;这与sql\u mode=only\u full\u group\u by不兼容

如何修复它

这是我的代码:

$stmt = $conn->prepare("SELECT tmdb_movies.movie_title

,GROUP_CONCAT(DISTINCT genres.genres_name SEPARATOR ', ') AS genres

FROM tmdb_movies


JOIN genres ON genres.genres_tmdb_id=tmdb_movies.tmdb_id

  WHERE EXISTS (SELECT genres.genres_name FROM genres WHERE genres.genres_name = '$genres1');

 GROUP BY tmdb_movies.movie_title

代码中出现问题或我需要更改SQL模式(如何)?

这是一个奇怪的错误,因为您向我们显示的查询似乎没有此问题。您正在按
movie\u title
进行选择和分组,并使用
GROUP\u CONCAT()
调用,这也是允许的。你确定这是产生错误的实际查询吗?这是因为
WHERE
line@TimBiegeleisen,我有1000%的把握我对此表示怀疑
其中
应在分组依据中进行聚合之前应用。因此,完全模式限制不应成为问题。您能用一些示例数据设置一个演示(www.rextester.com)吗?您的
存在
与您的主查询不相关。我不希望出现此错误消息,但无论如何您都应该更正它。您是否可以发布这些表的create语句,看看其他人是否可以重现您的问题?这是一个奇怪的错误,因为您向我们显示的查询似乎没有此问题。您正在按
movie\u title
进行选择和分组,并使用
GROUP\u CONCAT()
调用,这也是允许的。你确定这是产生错误的实际查询吗?这是因为
WHERE
line@TimBiegeleisen,我有1000%的把握我对此表示怀疑
其中
应在分组依据中进行聚合之前应用。因此,完全模式限制不应成为问题。您能用一些示例数据设置一个演示(www.rextester.com)吗?您的
存在
与您的主查询不相关。我不希望出现此错误消息,但无论如何您都应该更正它。您是否可以发布这些表的create语句,看看其他人是否可以重现您的问题?