Ich habe ein Szenario für eine Tabelle Typ2, wo ich Duplikate auf Gesamtzeilenebene entfernen muss.Entfernen von Duplikaten aus Netezza Tabelle
Betrachten wir unten Beispiel als die Daten in der Tabelle.
A|B|C|D|E
100|12-01-2016|2|3|4
100|13-01-2016|3|4|5
100|14-01-2016|2|3|4
100|15-01-2016|5|6|7
100|16-01-2016|5|6|7
Wenn Sie A als Schlüsselspalte betrachten, wissen Sie, dass die letzten 2 Zeilen Duplikate sind.
Um Dubletten zu finden, verwenden wir im Allgemeinen Gruppe für Funktion. 2 | | 3 | 4 Doppelt- und auch 100 | 5 | 6 | 7
select A,C,D,E,count(1)
from table
group by A,C,D,E
having count(*)>1
für diesen Ausgang würde 100 sein. Allerdings ist nur 100 | 5 | 6 | 7 nur nach Typ 2 und nicht 100 | 2 | 3 | 4 doppelt vorhanden, da dieser Wert im 3. Lauf und nicht bald nach dem 1. Laden zurückkommt. Wenn ich ein Datumsfeld zu einer Gruppe hinzufüge um 100 | 5 | 6 | 7 wird nicht als Duplikat betrachtet, aber in Wirklichkeit ist es das.
Der Versuch, Duplikate wie oben beschrieben herauszufinden. Duplikate sollten nur 100 | 5 | 6 | 7 und nicht 100 | 2 | 3 | 4 sein. kann jemand bitte mit SQL für das gleiche helfen.
Grüße Raghav
was meinst du mit Typ 2? –
Sie haben nur zwei im Ergebnis dupliziert: 100 | 12-01-2016 | 2 | 3 | 4> 100 | 12-01-2016 | 2 | 3 | 4 und 100 | 15-01-2016 | 5 | 6 | 7> 100 | 16-01-2016 | 5 | 6 | 7 –
@vkp I Bedeutet CDC Typ 2, in dem Sie Verlauf und aktuelle Daten verwalten. – Raghav