2017-07-18 5 views
0

Ich verwende SQL Workbench/J, das zu Amazon Rotverschiebung verbindet.Duplikate entfernen, wenn alle Werte gleich sind

Ich habe folgende Daten in einer Tabelle (es gibt mehr Spalten, die gehalten werden müssen, aber alle sind exakt die gleichen Werte für jeden eindeutigen claim_id unabhängig von Zeilennummer):

Member ID | Claim_ID | Line_Number | 
    1    100    1 
    1    100    2 
    1    100    1 
    1    100    2 
    2    101    13 
    2    101    13 
    2    101    13 
    2    101    13 
    3    102    12 
    3    102    12 
    1    103    2 
    1    103    2 

ich es will werden die folgenden, die Duplikate anhand von claim_id entfernen wird (es ist egal, welche Zeilennummer wird gehalten):

Member ID | Claim_ID | Line_Number | 
    1    100    1 
    2    101    13 
    3    102    12 
    1    103    2 

ich habe versucht, die folgenden:

select er_main.member_id, er_main.claim_id, er_main.line_number, 
temp.claim_id, temp.line_number 
from OK_ER_30 er_main 
inner join (
    select row_number() over (partition by claim_id order by line_number desc) as seqnum  
    from 
     OK_ER_30 temp) temp 
    ON er_main.claim_id = temp.claim_id and seqnum = 1 
    Order by er_main.claim_id, temp.line_number 

und diese:

select * from ok_er_30 
where claim_id in 
(select distinct claim_id 
from ok_er_30 
group by claim_id 
) 
order by claim_id desc 

ich viele andere Möglichkeiten des Ziehens nur eine Zeile pro deutliche claim_id aber nichts überprüft haben, gearbeitet hat.

Antwort

0

Versuchen Sie dies.

Wählen Sie die Member_ID, Claim_ID, max (Line_Number) -Gruppe nach Member_ID, Claim_ID

Verwandte Themen