gpt4 book ai didi

mysql - SQL查询需要创造性的解决方案

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

我有这样的数据

object_id type

1 ISSN

1 ISBN

2 ISSN

2 ISSN

3 ISSN

3 KSBN

3 KSBN

4 ISSN

4 ISBN

我需要在同一个查询中找到同时具有 ISSN 和 ISBN 的所有数据。

我找到的解决方案是使用这段代码

select * 
from table
where OBJECT_ID in
(
SELECT K.OBJECT_ID
FROM tableK
WHERE K.`TYPE` IN ('ISSN', 'ISBN')
GROUP BY K.OBJECT_ID
HAVING count(distinct K.TYPE) = 2
)

但是由于数据集很大,所以需要很长时间才能运行。是否有不使用嵌套查询的选项。

当我直接输入 objectID 时,它几乎立即运行

select * 
from table
where OBJECT_ID in
(
1,4
)

它运行得更快,因为它没有多次执行选择。但是,当我尝试将输出保存为变量时,它崩溃了,因为它返回了不止一行。

是否有任何类型的连接可以在较小的数据集上完成,因为在整个表上进行自反连接需要超过 10 分钟。

最佳答案

这个呢?

SELECT t1.*, t2.* FROM table as t1
INNER JOIN table as t2
ON t1.object_id = t2.object_id
AND t2.type = "ISSN"
WHERE t1.type = "ISBN"

关于mysql - SQL查询需要创造性的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073197/

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