gpt4 book ai didi

mysql - GROUP BY chat_id - 仅当所有条件的行都匹配时返回

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:15 26 4
gpt4 key购买 nike

我有一张聊天参与者表,如下所示:

id         chat_id          participant_id
1 1 5
2 1 7
3 1 9

如果用户创建新聊天,我们首先要确保与所请求参与者的聊天尚不存在,如果存在,我们将只使用该聊天。

所以在这里假设我想与参与者聊天 5 , 7 , 9 , 和 11 .

在这种情况下,不会返回任何内容,并且会与新的 chat_id 进行新的聊天。必须创建,因为没有包含所有这些成员的聊天。

但是,如果我们想创建一个只有参与者的聊天 5 , 7 , 和 9 , chat_id1应该归还。

是否有一种有效的方法来构建查询以在不使用循环的情况下实现这一目标?

我试过这样的东西,但没有得到想要的结果:

SELECT chat_id FROM chat_participants WHERE participant IN(5,7,9) GROUP BY chat_id

有什么建议吗?

最佳答案

你只需要像这样添加你请求的参与者总数的条件

SELECT chat_id FROM chat_participants WHERE participant IN(5,7,9) GROUP 
BY chat_id having count(chat_id) = 3

如果您像 IN(5,7,9,11) 这样通过,那么您的条件将是 having count(chat_id) = 4

关于mysql - GROUP BY chat_id - 仅当所有条件的行都匹配时返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43521865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com