Oracle ist eines der größten relationalen Datenbankverwaltungssysteme der Welt. Seine leistungsstarken Funktionen und sein breites Anwendungsspektrum machen es zu einem unverzichtbaren Bestandteil von Anwendungen auf Unternehmensebene. In diesen Anwendungen ist die Datendeduplizierung eine häufige Aufgabe. Das Entfernen doppelter Datensätze kann die Datenqualität verbessern und den Speicherplatz und die Abfragezeit reduzieren.
In Oracle können Sie mehrere Methoden verwenden, um doppelte Datensätze zu entfernen:
Die Verwendung des DISTINCT-Schlüsselworts gibt eine eindeutige Ergebnismenge zurück, was bedeutet, dass es keine doppelten Datensätze gibt. Die folgende Abfrage gibt beispielsweise alle eindeutigen Kundennamen zurück:
SELECT DISTINCT CUSTOMER_NAME FROM CUSTOMERS;
GROUP BY-Klausel wird zum Gruppieren verwendet und gibt eine einzelne Zeile für jede Gruppe zurück. Durch die Kombination einiger Spalten können Sie eindeutige Werte finden. Die folgende Abfrage gibt beispielsweise die Anzahl der Kunden in jeder Stadt zurück:
SELECT CITY, COUNT(*) FROM CUSTOMERS GROUP BY CITY
Oracle enthält mehrere integrierte Funktionen zum Entfernen doppelte Datensätze, zum Beispiel:
Die folgende Abfrage gibt die Anzahl der eindeutigen Adressen in der Kundentabelle zurück:
SELECT COUNT(DISTINCT ADDRESS) FROM CUSTOMERS;
Eine Fensterfunktion ist eine spezielle Funktion, die das Ganze zählt Ergebnissatzwert statt einer separaten Zeile. Verwenden Sie Fensterfunktionen, um doppelte Datensätze zu entfernen und gleichzeitig die Originaldaten beizubehalten.
Die folgende Abfrage gibt die letzten 20 Verkaufsdatensätze sortiert nach Verkaufszeit zurück, ohne doppelte Verkaufsdatensätze beizubehalten:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER(PARTITION BY SALE_DATE ORDER BY SALE_AMOUNT DESC) RN, SALE_ID, SALE_AMOUNT, SALE_DATE
FROM
SALES
) WHERE RN <= 20;
Zusammenfassung
Oracle verfügt über viele Methoden zum Löschen doppelter Datensätze, einschließlich des DISTINCT-Schlüsselworts, der GROUP BY-Klausel, der Funktion zum Entfernen doppelter Zeilen und der Fensterfunktion. Der Einsatz dieser Methoden kann die Datenqualität verbessern und den Speicherplatz und die Abfragezeit reduzieren.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Datensätze in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!