Heim > Datenbank > Oracle > So entfernen Sie doppelte Abfragen in Oracle

So entfernen Sie doppelte Abfragen in Oracle

hzc
Freigeben: 2020-06-09 09:53:42
Original
30780 Leute haben es durchsucht

So entfernen Sie doppelte Abfragen in Oracle

Oracle-Deduplizierungsabfragemethode ist:

Oracle-Datenbank-Mehrfelddeduplizierung

Methodeneinführung: eindeutiges Schlüsselwort, gruppieren nach , row_number ()over (Partition nach Spalte, Reihenfolge nach Spalte desc)

Meine Anforderung ist: Fragen Sie alle Informationen nach der Deduplizierung basierend auf bestimmten Spalten ab. Am Ende habe ich mich für die dritte Methode entschieden.

Meine Idee: Ich möchte einen einfacheren Weg finden, Deduplizierungsabfragen umzusetzen. Je direkter, desto besser.

Tabellenstruktur && Inhalt

So entfernen Sie doppelte Abfragen in Oracle

1. Verwendung des eindeutigen Schlüsselworts: Die Feldkombination, die dem eindeutigen Schlüsselwort folgt, muss

wählen Sie eine eindeutige ID aus aus Test

Ergebnis; Deduplizierung basierend auf ID

Eindeutige ID und Namen aus Test auswählen

Ergebnis: Deduplizierung basierend auf der Kombination aus ID und Name (ähnlich wie ID | | Name (Auf diese Weise werden Duplikate entfernt)

So entfernen Sie doppelte Abfragen in Oracle

2. Nach Gruppe gruppieren, um Duplikate zu entfernen

ID, Name aus Testgruppe nach ID, Name auswählen

Ergebnis: Deduplizierung basierend auf ID, Namenskombination

20170523141826007 (1).png

3. row_number ()over (Partition nach Spalte, Reihenfolge nach Spalte aufsteigend | absteigend) Methode

3.1 row_number() over(order by Column aufsteigend) Sortieren Sie zuerst die Spalten in aufsteigender Reihenfolge und geben Sie dann eine Sequenznummer für jeden Datensatz zurück

3.2 row_number() over(partition by Column1 order by Column2 aufsteigend) Zuerst Gruppieren Sie nach Spalte1 und sortieren Sie dann die gruppierten Daten in aufsteigender Reihenfolge nach Spalte2 ,a.sex Reihenfolge nach Name) su aus Test a;

Beispiel für Deduplizierung: Deduplizierung basierend auf ID und Geschlecht

So entfernen Sie doppelte Abfragen in OracleWählen Sie ID,Name,Geschlecht from(

select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a )

wobei su=1

Ergebnis:

Meine Anforderung besteht darin, alle Informationen nach der Deduplizierung anhand bestimmter Spalten abzufragen.

So entfernen Sie doppelte Abfragen in OracleEmpfohlenes Tutorial: „

Oracle Tutorial

Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Abfragen in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage