gpt4 book ai didi

Mysql WHERE IN 子查询

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

我想列出在同一个表中具有匹配项的所有行。到目前为止,我已经想到了这个

SELECT *
FROM parim_firms
WHERE firm_name IN (
SELECT firm_name
FROM parim_firms
GROUP BY firm_name
HAVING COUNT(*) > 1
)

但是这个查询一直在运行,尽 pipe 查询本身运行了 0.1 秒。

我该如何优化它?

我认为子查询对每一行都执行一次,而不是一次。我说得对吗?

最佳答案

加入它怎么样?

SELECT  a.*
FROM parim_firms a
INNER JOIN
(
SELECT firm_name
FROM parim_firms
GROUP BY firm_name
HAVING COUNT(*) > 1
) b ON a.firm_name = b.firm_name

PS:请务必在 firm_name 列上添加索引以加快执行速度。

关于Mysql WHERE IN 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13285365/

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