相关疑难解决方法(0)

如何删除没有唯一标识符的重复行

我的表中有重复的行,我想以最有效的方式删除重复项,因为表很大.经过一番研究,我得出了这个问题:

WITH TempEmp AS
(
SELECT name, ROW_NUMBER() OVER(PARTITION by name, address, zipcode ORDER BY name) AS duplicateRecCount
FROM mytable
)
-- Now Delete Duplicate Records
DELETE FROM TempEmp
WHERE duplicateRecCount > 1;
Run Code Online (Sandbox Code Playgroud)

但它只适用于SQL,而不适用于Netezza.它似乎不喜欢DELETE后面的WITH条款?

sql database postgresql duplicates netezza

41
推荐指数
5
解决办法
5万
查看次数

postgres 查询根据某些列的多个副本获取第一行

假设我有一张桌子 -

A        B       C  
1        3       5  
1        3       7  
1        3       9  
2        4       3  
2        4       6  
2        4       1 
Run Code Online (Sandbox Code Playgroud)

这里有 A 和 B 的相同组合的多个副本。对于每个组合,我想要回它的第一个条目。所以我想要这个表的结果是-

A        B      C  
1        3      5  
2        4      3 
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 postgres sql 中做到这一点?

sql postgresql greatest-n-per-group postgresql-9.1

3
推荐指数
1
解决办法
4967
查看次数