0

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

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

我找不到可以让我检查 2 个(或更多)用户之间是否已经存在对话的查询。如果用户发送给用户,我基本上希望3返回 (conversation_id),反之亦然,即使他们没有明确回复之前的消息,我也可以继续对话。228

4

1 回答 1

3

使用该having子句,您可以仅过滤到两个用户都参与的conversation_ids

select conversation_id
from your_table
where user_id in (2, 28)
group by conversation_id
having count(distinct user_id) = 2
于 2013-06-05T08:50:38.243 回答