MySQL,选择字段取决于表中的多个其他行

时间:2013-06-05 08:48:21

标签: mysql database

我正在我的网站上实现一个消息传递系统,并有一个表来存储会话参与者,如下所示:

conversation_id     user_id
3                   2   
3                   28  
4                   1   
4                   2   
5                   1   
5                   2 
5                   28  

我找不到一个查询,让我检查两个用户(或更多)之间是否已存在对话。如果用户3发送给用户2,我基本上希望返回28(conversation_id),反之亦然,就像我可以保持对话一样,即使他们没有明确回复了上一条消息。

1 个答案:

答案 0 :(得分:3)

使用having子句,您只能过滤到用户参与的conversation_id

select conversation_id
from your_table
where user_id in (2, 28)
group by conversation_id
having count(distinct user_id) = 2