gpt4 book ai didi

mysql - 加入后SQL显示重复项

转载 作者:行者123 更新时间:2023-11-29 01:51:50 25 4
gpt4 key购买 nike

我正在尝试选择表的所有重复(删除不同的记录)条目,连接的结果。

我正在尝试这样做:

SELECT items.id, b.title FROM b WHERE b.title IN (
SELECT b.title FROM b LIMIT 20 GROUP BY b.title HAVING COUNT(*)>1
) INNER JOIN items USING (number)

注意:number 是用于连接的 'items' 和 'b' 表共有的索引。

但显然这行不通。我试图了解如何获取重复项并返回连接结果。

输出示例应该是:

 id | title
----|----
001 | House
002 | House
005 | Tree
010 | Tree
006 | Car
007 | Car

最佳答案

在子查询中使用 COUNT(*) 会产生开销。我建议:

SELECT i.id, b.title
FROM b JOIN
items i
USING (number)
WHERE EXISTS (SELECT 1
FROM b b2
WHERE b2.title = b.title AND b2.id <> b.id
);

这确实假设 b 在每一行上都有一个唯一的 id,它在子查询中使用。此查询可以使用 b(title, id) 上的索引。

关于mysql - 加入后SQL显示重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39648893/

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