我有一个带有displayName列的表,我添加了一个“唯一”约束。我试图编写一个迁移,将任何非唯一的displayName设置为null,只保留具有较低用户ID的displayName。这里是我的查询:在添加唯一约束的列中删除重复的值
UPDATE "User" SET "displayName" = NULL
WHERE id IN (SELECT id,
FROM (SELECT id,
ROW_NUMBER() OVER (partition BY "displayName" ORDER BY id) AS rnum
FROM "User") t
WHERE t.rnum > 1);
当我试图运行迁移我回来了“错误:语法错误在或接近”FROM“”。
感谢
用您正在使用的数据库标记您的问题。此外,样本数据和期望的结果将有助于传达您正在使用的内容。 –
','在子查询中的id后面。 –