gpt4 book ai didi

mysql - SQL查看所有重复项?

转载 作者:太空宇宙 更新时间:2023-11-03 11:06:50 24 4
gpt4 key购买 nike

我有一个包含数千行的巨大表格。每行都有一个唯一的路径。例如:

electronics/samsung/tv/lcd-23384
electronics/philips/tv/lcd-12ger
etc...

问题是,最近的一个查询执行不正确,导致一些字段有重复的路径。所以,我想知道的是,有没有我可以执行的查询来显示所有重复项?换句话说,如果我有这个:

ID     | PATH 
1 | path_1
2 | path_2
3 | path_3
4 | path_3
5 | path_3
6 | path_4
7 | path_4
8 | path_5
9 | path_6

我想要这样的结果:

ID     | PATH 
3 | path_3
4 | path_3
5 | path_3
6 | path_4
7 | path_4

请注意,所有非重复项都已删除。即......这些:

ID     | PATH 
1 | path_1
2 | path_2
8 | path_5
9 | path_6

什么 SQL 查询可以完成这个?

最佳答案

SELECT * FROM mytable NATURAL JOIN (
SELECT PATH FROM mytable GROUP BY PATH HAVING COUNT(*) > 1
) dupes

查看sqlfiddle .


要执行您在下面评论中请求的更新:

UPDATE mytable NATURAL JOIN (
SELECT PATH FROM mytable GROUP BY PATH HAVING COUNT(*) > 1
) dupes, (SELECT @r:=0) init
SET mytable.PATH = CONCAT(PATH, '-', @r:=@r+1);

查看sqlfiddle .

关于mysql - SQL查看所有重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362238/

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