2017-07-28 2 views
0

I Datenabtastwert haben wie unten:die sich wiederholende Zeile entfernen von unterschiedlichen Spalten Überprüfung

set of data

Wie kann PostgreSQL die doppelte Zeile per Scheck column1 und column2 an verschiedenen Reihe beseitigen? Ich mache nur einen normalen Vergleich, aber immer noch Pech zu dieser Zeit. Hoffe, jemand kann die Idee teilen.

+0

Bitte lesen Sie http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557 und die angenommene Antwort –

+0

Wählen * aus Tabelle wo "zu"> "von" –

+0

Vielen Dank a_horse_with_no_name für die Erinnerung. Meine Entschuldigung. – Samila

Antwort

1
SELECT d1.* 
FROM distance d1 
WHERE NOT EXISTS (SELECT 1 
        FROM distance d2 
        WHERE d1."from" = d2."to" 
        AND d1."to" = d2."from" 
        AND d2."from" < d2."to" 
       ); 

Wenn es ein “ doppelten ” ist, diese Abfrage wird nur die Zeile auswählen, wo "from" < "to".

+0

Danke. es läuft. Darf ich wissen, wie das geht. d2. "von" Samila

+1

Es ist nur eines der beiden Paare auszuwählen. In diesem Fall wähle ich mit "" von "<" bis "". Die String-Reihenfolge variiert je nach Kollation, aber die genaue Bedeutung ist für diesen Anwendungsfall unwichtig. Alles, was zählt, ist entweder A

Verwandte Themen