SELECT users.mail, users.name FROM members
LEFT JOIN users ON (users.uid = members.uid) WHERE members.group = 27
AND members.uid NOT IN (SELECT subgroup_members.uid FROM subgroup_members
LEFT JOIN subgroups ON (subgroups.id = subgroup_members.sid)
LEFT JOIN users on (users.uid = subgroup_members.uid) WHERE subgroups.oid = 27 AND subgroup_members.leader = 1)
此查询返回不是子组领导者的组的所有成员。
members表显示了哪个userid(uid)
属于一个group(group)
,subgroup_members
表显示了哪些用户属于一个 subgroup(sid)
。领导在 subgroup_members 表的领导列中用“1”表示。
我正在尝试弄清楚如何返回不是子组的唯一领导者的组的所有成员,我现在很困惑。
因此,我需要确定它是否是唯一值,而不是 subgroup_members.leader = 1
最佳答案
考虑使用 GROUP BY
来隔离唯一索引。
文档:https://dev.mysql.com/doc/refman/5.5/en/group-by-modifiers.html
关于mysql - 如何在mysql中只返回唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565621/