postgresql中不重复的组合

问题描述 投票:0回答:1

我正在尝试获得独特价值的组合。我已经在下面解释了

示例1:enter image description here

这里我用黄色突出显示了源系统,参与者ID和组号重复。在这种情况下,如果源系统,参与者ID和组号的组合重复,则需要检查最近更新日期的最大值并消除一条记录

示例2:

enter image description here

这里我以黄色突出显示了源系统,参与者ID,组号,上次更新日期和创建日期,重复了一次。在这种情况下,如果复制了源系统,参与者ID,组号,最后更新日期和创建的组合,则需要获取所有五列的组合,以作为唯一的组合]]

select 
"Source System",
"Group Number",
"Partner Party Id"
from 
VT_PC_DE_DUP_CONSOLIDATED_JAN_22_INC
where 
("Source System" in (select "Source System" from VT_PC_DE_DUP_CONSOLIDATED_JAN_22_INC group by "Source System","Group Number","Partner Party Id"
having count("Source System")
= 1)
and "Group Number" in (select "Group Number" from VT_PC_DE_DUP_CONSOLIDATED_JAN_22_INC group by "Source System",
"Group Number","Partner Party Id" having count("Group Number")
= 1)
and "Partner Party Id" in (select "Partner Party Id" from VT_PC_DE_DUP_CONSOLIDATED_JAN_22_INC group by "Source System",
"Group Number","Partner Party Id" having count("Partner Party Id")
= 1))
or "Partner Last Update Date Ref" in (select max("Partner Last Update Date Ref") from VT_PC_DE_DUP_CONSOLIDATED_JAN_22_INC group by
"Source System",
"Group Number","Partner Party Id","Partner Last Update Date Ref")
or "Partner Creation Date Ref" in (select max("Partner Creation Date Ref") from VT_PC_DE_DUP_CONSOLIDATED_JAN_22_INC group by
"Source System",
"Group Number","Partner Party Id","Partner Last Update Date Ref","Partner Creation Date Ref")

我正在尝试获得独特价值的组合。我已经在下面的示例1中进行了说明:在此处输入图像描述我用黄色突出显示了源系统,参与者ID和...

sql postgresql distinct greatest-n-per-group
1个回答
0
投票

如果我正确地跟随了您,则可以只使用distinct on

© www.soinside.com 2019 - 2024. All rights reserved.