我正在尝试选择属于某个组的所有用户。我的group_members
表会跟踪用户所属的组。
group_members ( group_id , user_id )
因此,在我的group_members
表格中,user_id
可能会多次出现,因为用户可以属于多个群组。我正在使用innerJoin()
来提取每个user_id
的用户信息。但是,我只想在检索用户名时显示一次。
我该怎么做?
答案 0 :(得分:3)
使用DISTINCT
。之一:
select distinct u.* from users u
join group_members gm on gm.user_id = u.user_id
where ...
或
select * from users u
where u.user_id in (select user_id from group_members where ...)
...
在两个查询上运行“EXPLAIN SELECT”,以查看哪一个更快。