Wenn Sie mit Datenbanken arbeiten, stoßen Sie häufig Instanzen, in denen Sie doppelte Zeilen in einer bestimmten Datenbanktabelle finden müssen. Durch das Finden von Duplikaten können Sie das Verhältnis identischer Werte zu allen Werten in der Tabelle bestimmen.
Sie können dann die gesammelten Informationen verwenden, um zu handeln, z. B. das Entfernen von doppelten Werten oder das Verschieben in eine temporäre Tabelle usw.
In diesem Beitrag erfahren wir, wie wir in einer Oracle -Tabelle mit Oracle -Aggregat- oder Analysefunktionen doppelte Werte finden können.
Einrichten von Beispieltabellen und Daten einrichten
Lassen Sie uns Beispieldaten für Abbildungszwecke einrichten, um am besten zu verstehen, wie die Oracle -Funktionen verwendet werden, um doppelte Werte zu finden.
Wenn Sie eine vorhandene Tabelle haben, die Sie verwenden möchten, können Sie diesen Abschnitt überspringen. Führen Sie ansonsten die folgende Anweisung aus, um eine Beispieltabelle zu erstellen:
Erstellen Sie Tabellenbestellungen_informationFügen Sie als nächstes Beispieldaten mit doppelten Werten hinzu, wie gezeigt:
Einfügen in Bestellungen_information (ID, Kunde, Order_date, product_id, Menge, Preis)Sobald die Tabelle und die Beispieldaten fertig sind, können wir lernen, wie man die doppelten Zeilen findet.
Oracle Finden Sie doppelte Zeilen - Analytische Funktion
In Oracle können wir die Funktion count () in Verbindung mit Over und Partition per Klausel verwenden, um die Anzahl der doppelten Datensätze in einer bestimmten Tabelle zu bestimmen.
Nehmen Sie die unten angegebene Beispielanweisung.
Bestellungen auswählen.*, count (*) over (Partition nach Kunden, order_date) number_of_occurenceDie obige Abfrage sollte die Zeile zurückgeben und die Häufigkeit, mit der sie in der Tabelle auftritt, wie gezeigt:
Um nur die Datensätze zu erhalten, die mehr als einmal erscheinen, können wir eine Where -Klausel verwenden wie:
mit item_count as (Auswählen Bestellungen.*, count (*) over (Partition nach Kunden, order_date) number_of_occurenceAusgang:
Oracle Finden Sie doppelte Werte - Aggregatfunktion
Eine andere Methode, mit der wir doppelte Datensätze in einer Tabelle finden können, ist die Gruppe nach Klausel. Wir können dann bestimmen, wie oft ein bestimmter Datensatz in jeder Gruppe mit der Funktion count () erfolgt. Wenn eine Zeile mehr als einmal erscheint, handelt es sich um ein Duplikat.
Ein Beispiel ist wie gezeigt:
wählen *Die resultierenden Informationen sind wie gezeigt:
Wie wir sehen können, ermöglicht die Abfrage es uns, doppelte Zeilen aus der Zieltabelle zu erhalten.
Abschluss
In diesem Tutorial haben Sie zwei Hauptmethoden zur Bestimmung doppelter Zeilen aus einer bestimmten Datenbank entdeckt.