【发布时间】:2023-04-07 04:24:01
【问题描述】:
我在一个创建大量重复值的程序中发现了两个错误:
- 创建了“索引”而不是“唯一索引”
- 重复检查未集成到 4 个扭曲例程之一中
所以我需要进去清理我的数据库。
第一步是用所有重复值的计数来装饰表格(接下来我将寻找第一个值,然后将所有内容迁移过来)
下面的代码有效,我只记得几年前在同一张表上做过类似的“从选择计数更新”,我用一半的代码做了。
有没有更好的写法?
UPDATE
shared_link
SET
is_duplicate_of_count = subquery.is_duplicate_of_count
FROM
(
SELECT
count(url) AS is_duplicate_of_count
, url
FROM
shared_link
WHERE
shared_link.url = url
GROUP BY
url
) AS subquery
WHERE
shared_link.url = subquery.url
;
【问题讨论】:
标签: sql postgresql duplicates sql-update duplicate-removal