gpt4 book ai didi

mysql - SQL - 查找键等于值的所有 "Relationship IDs",然后选择包含这些 "Relationship IDs"的所有记录

转载 作者:行者123 更新时间:2023-11-29 03:25:43 24 4
gpt4 key购买 nike

我有一个巨大的痛苦的继承表,其中包含几百万条记录,我无法有效地查询。表格看起来有点像这样:

id | submissionId | key     | value
------------------------------------
1 | 1 | userID | 1
2 | 1 | data | stuff
3 | 2 | userID | 2
4 | 2 | data | stuff2
5 | 2 | data2 | stuff3
6 | 3 | userID | 1
7 | 3 | data | stuff2
8 | 3 | data2 | stuff3

我要查询的是为特定用户选择所有“提交数据”。所以 userID === 1 的结果只会选择与 userID 相关的“提交数据”,即:

1  | 1            | userID  | 1
2 | 1 | data | stuff
6 | 3 | userID | 1
7 | 3 | data | stuff2
8 | 3 | data2 | stuff3

目前我最好的解决方案是选择特定用户 ID 的所有记录。然后遍历结果并将 submissionID 放入数组中。然后选择 submissionID 与我的数组中的 submissionID 匹配的所有记录。

这变得非常耗时,因为还有大约 15,000 名用户需要循环访问。任何使它更有效或在单个查询中的想法将不胜感激!

最佳答案

您可以简单地查询具有与特定 value 相关的 submissionId 的任何记录:

SELECT *
FROM submissions
WHERE submissionId IN (SELECT submissionId
FROM submissions
WHERE value = 1 AND key = 'userID')

关于mysql - SQL - 查找键等于值的所有 "Relationship IDs",然后选择包含这些 "Relationship IDs"的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36544698/

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