SQL连接重复结果

daG*_*vis 0 mysql sql join duplicates

SELECT `groups`.`name`, `groups`.`id`
FROM `groups`
JOIN `group_members`
    ON (`group_members`.`user_id` = `groups`.`user_id`)
WHERE `groups`.`user_id` = '33'
ORDER BY `groups`.`id`
Run Code Online (Sandbox Code Playgroud)

我需要为他所属的每个组获取组的ID和组名.但结果不能重复!

我的查询返回了很多重复的条目.

groups存储那些存在(所有组name,description等等).在group_members是已存储的一些基团(成员的所有用户user_id,group_id等等).

如何修改此查询以获得不重复但正确的结果?谢谢你的建议!

编辑:

groups没有user_id.该组的所有成员都存储在group_members表中.我需要获得用户所在的所有组(组的ID和名称).

Jac*_*cob 5

如果您想知道一个用户的所有组,您必须加入group_members.group_id并编辑该WHERE子句.

SELECT `groups`.`name`, `groups`.`id`
FROM `groups`
JOIN `group_members`
    ON (`group_members`.`group_id` = `groups`.`id`)
WHERE `group_members`.`user_id` = '33'
ORDER BY `groups`.`id`
Run Code Online (Sandbox Code Playgroud)