[英]Select all rows where the column value is the "same" in MySQL?
所以我有一个表,将 URL 存储在一列中。 由于 URL 的解析和编写方式不同,表中存在重复项。 如何选择具有相同域和 URL 路径的所有行?
我可以选择 URL 完全匹配的重复项,但这不是我想要的。
例子,
# This is a duplicate
https://www.example.com/example1
https://example.com/example1
# Not a duplicate
https://example.com/example2
https://example.com/example3
# This is a duplicate
https://example.com/example2/
https://example.com/example2
您可以使用此删除重复值。
DELETE t1 FROM urls t1
INNER JOIN urls t2
WHERE
t1.id != t2.id AND
t1.url = TRIM(TRAILING '/' FROM REPLACE(t2.url, '://www.', '://'));
这是示例网址: https : //dbfiddle.uk/? rdbms = mysql_8.0 & fiddle =792b0a7870b1abdd91f13cd4c608ab6a
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.