【发布时间】:2013-08-21 06:52:08
【问题描述】:
我的数据库中目前有一个 URL 重定向表,其中包含约 8000 行,其中约 6000 行是重复的。
我想知道是否有一种方法可以根据某个列的值删除这些重复项,如果匹配,我希望使用我的“old_url”列来查找重复项,并且我已经使用了
SELECT old_url
,DuplicateCount = COUNT(1)
FROM tbl_ecom_url_redirect
GROUP BY old_url
HAVING COUNT(1) > 1 -- more than one value
ORDER BY COUNT(1) DESC -- sort by most duplicates
但是我不确定我现在可以做些什么来删除它们,因为我不想丢失每一个,只是重复。它们几乎完全匹配,除了有时 new_url 不同并且 url_id (GUID) 每次都不同
【问题讨论】:
-
完成后,记得在表中添加
UNIQUE约束,这样您就不必再做这项工作了。 -
唯一的问题是。我不能真正摆弄数据库,因为它不是供个人使用的,不过我会建议这样做。
标签: sql sql-server