我想在下表中搜索1的user_id,并获得与相同mid相关的其他user_id(在本例中为1& 3中)
mid | user_id
1 1
1 2
1 3
2 2
2 3
2 5
3 1
3 5
3 2
结果必须是:
mid | user_id
1 1
1 2
1 3
3 1
3 5
3 2
如何使用MySQL查询完成?
答案 0 :(得分:1)
假设我理解正确,您希望首先找到user_id值为1的所有中间值,然后从以前获得的所有值中获取所有user_id值
SELECT mid, user_id from table
where mid IN (SELECT mid FROM table WHERE user_id = 1)
答案 1 :(得分:0)
假设您希望获得与user_id匹配的那些中的所有行,这应该按照您的要求执行:
select * from your_table t1
where exists (
select 1 from your_table t2
where user_id = 1
and t1.mid = t2.mid
)
给出样本数据的结果:
| MID | USER_ID |
|-----|---------|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 3 | 1 |
| 3 | 5 |
| 3 | 2 |