Mysql 如何合并4个表并按用户id分组

Mysql 如何合并4个表并按用户id分组,mysql,Mysql,我有一个问题: SELECT u.user_id, f.eye_color, c.rating FROM user u LEFT JOIN connection c ON u.user_id = c.connection_user_id, user_field f, search s WHERE s.search_id = 1 AND u.user_id = f.user_id AND s.user_id != u.user_id GROUP BY u

我有一个问题:

SELECT u.user_id, f.eye_color, c.rating
FROM
user u LEFT JOIN connection c ON u.user_id = c.connection_user_id,
   user_field f,
   search s
WHERE
    s.search_id = 1 AND
    u.user_id = f.user_id AND
    s.user_id != u.user_id
GROUP BY
    u.user_id;
这就是它显示的错误

错误代码:1055。选择列表的表达式#51不在GROUP BY子句中,并且包含非聚合列“sos.c.rating”,该列在功能上不依赖于GROUP BY子句中的列;这与sql\u mode=only\u full\u group\u by不兼容

你可以在下面试试

您混淆了显式连接和隐式连接,没有必要使用GROUP BY,因为您没有聚合任何列

SELECT u.user_id, f.eye_color, c.rating
FROM
user u LEFT JOIN connection c ON u.user_id = c.connection_user_id,
   left join user_field f on u.user_id = f.user_id
   left join search s on s.user_id != u.user_id
WHERE
    s.search_id = 1 

您将
JOIN
语法与显式
JOIN
关键字和逗号连接语法混合在一起;在我看来,你有4张桌子,而不是3张;因此,你和我们都很难看到到底发生了什么;请澄清您的疑问,并详细说明您迄今为止在处理收到的错误消息方面所做的努力