【发布时间】:2021-07-11 01:32:11
【问题描述】:
如何删除一条记录并让每个用户拥有一条唯一记录。 这意味着可能有多个相同的记录,但由不同的用户记录。一个用户不能有多个相同的记录。
例如,如果用户 1 搜索蜘蛛侠电影,那么这是一个唯一记录, 但是如果他们再次用相同的名字搜索蜘蛛侠没有区别然后删除第二个 记录。现在,如果用户 2 搜索相同的蜘蛛侠电影,则保留该记录,因为用户 2 的用户 id 与用户 1 不同,依此类推。
我的问题是如何删除用户记录并为每个用户只保留一个唯一记录。
我正在使用两个不同的表来跟踪用户并将它们与电影表进行匹配
我想删除用户表和电影表中对某个用户来说不是唯一的电影。
这是我的桌子
https://i.stack.imgur.com/yrc97.png
DELETE FROM movie_media t1
USING accountMovie t2
WHERE id IN
(SELECT id
FROM
(SELECT id,
ROW_NUMBER() OVER( PARTITION BY title
ORDER BY id) AS row_num
FROM movie_media ) t
WHERE t.row_num > 1)
AND t2."accountId" = $1
我正在寻找这样的东西
【问题讨论】:
-
这能回答你的问题吗? Delete duplicate rows from small table
标签: postgresql duplicates sql-delete