获取具有相同mid的其他user_ids

时间:2015-02-13 18:49:45

标签: mysql sql

我想在下表中搜索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查询完成?

2 个答案:

答案 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
)

Sample SQL Fiddle

给出样本数据的结果:

| MID | USER_ID |
|-----|---------|
|   1 |       1 |
|   1 |       2 |
|   1 |       3 |
|   3 |       1 |
|   3 |       5 |
|   3 |       2 |