作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想列出在同一个表中具有匹配项的所有行。到目前为止,我已经想到了这个
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/
我是一名优秀的程序员,十分优秀!