我有下面这张桌子 成员:
ID | hobby |
---|---|
1 | Football |
1 | Tennis |
1 | Football |
2 | Cards |
2 | Painting |
3 | Tennis |
3 | Football |
4 | Cards |
我只想 Select 成对的成员,如果他们有完全相同的爱好(没有重复). 因此,在上表中,我希望该查询输出:
id1 | id2 |
---|---|
1 | 3 |
我的疑问是:
SELECT m1.id as id1 , m2.id as id2
FROM members m1 inner join members m2
ON m1.id < m2.id
WHERE m1.hobby in (
SELECT distinct(m2.hobby)
)
GROUP BY id1,id2
但我得到了:
id1 | id2 |
---|---|
1 | 3 |
2 | 4 |