gpt4 book ai didi

mysql - SQLite 检索正确的记录

转载 作者:行者123 更新时间:2023-11-29 22:06:38 25 4
gpt4 key购买 nike

我有一个名为 ChatThreadMember 的表。我附上表格的数据,以便我的问题能够得到正确的传达。

enter image description here

我正在尝试获取这样一个 ChatThreadId,其中包含我将传递的所有 ReceiverInteral。

例如。当我通过以下 3 个 ReceiverInternals

  1. 'F7269470-B8C9-447C-8E85-555D9ECF82B6'
  2. '79D49515-A34C-47A7-BDE8-667778B0327C'
  3. '9E682E2B-FB3C-41F3-9192-ABFD97D5A8F5'

我应该只得到 6CE1F6A9-8254-4D5A-8C9D-FEC680B60B2F 作为 ChatThreadId,因为它是唯一包含所有 3 个 ReceiverInternals 的 ChatThreadId。然而,通过我的所有试验,我得到了 DF04A5D4-E586-4398-B8DB-13B411EOED5D 以及我不需要的 6CE1F6A9-8254-4D5A-8C9D-FEC680B60B2F

我的查询是:

SELECT  cth.ChatThreadId from ChatThreadMember cth where cth.ReceiverInternal in
('F7269470-B8C9-447C-8E85-555D9ECF82B6','79D49515-A34C-47A7-BDE8-667778B0327C','9E682E2B-FB3C-41F3-9192-ABFD97D5A8F5')
and
cth.ChatThreadId not in(
SELECT cth.ChatThreadId from ChatThreadMember cth where cth.ReceiverInternal in
(Select cth.ReceiverInternal from ChatThreadMember cth where cth.ReceiverInternal not in ('F7269470-B8C9-447C-8E85-555D9ECF82B6','79D49515-A34C-47A7-BDE8-667778B0327C','9E682E2B-FB3C-41F3-9192-ABFD97D5A8F5')
))
group by cth.ChatThreadId

我被这个问题困扰了。有什么帮助吗?提前致谢。

最佳答案

您希望存在所有 ReceiverInternal 所需的所有 ID。因此,选择它们,在 HAVING 子句中对它们进行计数,并忽略计数较低的 ID。

select chatthreadid 
from chatthreadmember
where receiverinternal in
(
'F7269470-B8C9-447C-8E85-555D9ECF82B6',
'79D49515-A34C-47A7-BDE8-667778B0327C',
'9E682E2B-FB3C-41F3-9192-ABFD97D5A8F5'
)
group by chatthreadid
having count(distinct receiverinternal) = 3;

关于mysql - SQLite 检索正确的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097920/

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