2017-01-15 1 views
0

Ich habe 3 Spalten.wählen Sie eindeutige Werte auf 1 Spalte nur in Oracle SQL Developer

column_a, column_b, column_c 

Ich versuche, alle Zeilen mit der Unterscheidung nur in Spalte_a zu erhalten.

wenn ich schreibe

select distinct column_a,column_b,column_c 

Ich denke, es mir verschiedene Paare gibt. So habe ich

value1 - a - b 
value1 - a - c 

Ich möchte die unterschiedlichen Werte von column_a halten folgende von column_b und column_c Werte, weil ich eine Tabelle aus, die SQL-Abfrage erstellen wird, und ich will PK die column_a Spalte hinzuzufügen.

Antwort

0

Ich denke, der sicherste Weg row_number() zu verwenden ist:

select a, b, c 
from (select t.*, 
      row_number() over (partition by a order by a) as seqnum 
     from t 
    ) t 
where seqnum = 1; 

für jeden a Wert Dies wird wieder eine willkürliche Reihe, aber a nicht in der Ergebnismenge wiederholt werden.

Verwandte Themen