Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie die Oracle RANK()
– Funktion verwenden, um den Rang von Zeilen innerhalb einer Reihe von Zeilen zu berechnen.
Einführung in die Oracle RANK () – Funktion
Die RANK()
– Funktion ist eine Analysefunktion, die den Rang eines Werts in einer Reihe von Werten berechnet.
Die Funktion RANK()
gibt den gleichen Rang für die Zeilen mit den gleichen Werten zurück. Es fügt die Anzahl der gebundenen Zeilen zum gebundenen Rang hinzu, um den nächsten Rang zu berechnen., Daher dürfen die Ränge keine aufeinanderfolgenden Zahlen sein.
DieRANK()
Funktion ist nützlich für Top-N und bottom-N Abfragen.
Im Folgenden wird die Syntax der Funktion RANK()
veranschaulicht:
Die ist erforderlich. Es gibt die Reihenfolge der Zeilen in jeder Partition an, für die die Funktion RANK()
gilt.
Die Abfrage-Partitionsklausel teilt, falls verfügbar, die Zeilen in Partitionen auf, für die die Funktion RANK()
gilt., Wenn die Ursache der Abfragepartition weggelassen wird, wird die gesamte Ergebnismenge als einzelne Partition behandelt.,tabelle mit dem Namen rank_demo
das besteht aus einer spalte:
Zweite, fügen Sie einige zeilen in die rank_demo
tabelle:
Dritte, abfrage von der rank_demo
tabelle:
Viertens, verwenden die RANK()
funktion zu berechnen die rang für jede zeile der tabelle:
Die folgenden zeigt die ausgabe:
Die ersten beiden Zeilen erhielten den gleichen Rang 1., Die dritte Reihe erhielt den Rang 3, weil die zweite Reihe bereits den Rang 1 erhielt. Die nächsten drei Reihen erhielten den gleichen Rang 4 und die letzte Reihe den Rang 7.
Oracle RANK () Funktionsbeispiele
Zur Demonstration verwenden wir die Tabelle products
aus der Beispieldatenbank.,
Oracle RANK() Funktion einfaches Beispiel
Die folgende Anweisung berechnet den Rang jedes Produkts anhand seines Listenpreises:
Hier ist die Teilausgabe:
Um die Top 10 der teuersten Produkte zu erhalten, verwenden Sie die folgende Anweisung:
In diesem Beispiel gab der allgemeine Tabellenausdruck Produkte mit ihren Rängen zurück und die äußere Abfrage wählte nur die ersten 10 teuersten Produkte aus.,
Hier ist die Ausgabe:
Verwenden der Oracle RANK ()-Funktion mit PARTITION BY example
Das folgende Beispiel gibt die 3 teuersten Produkte für jede Kategorie zurück:
In diesem Beispiel:
- Zuerst die
PARTITION BY
Klausel teilte die Produkte nach Kategorien in mehrere Partitionen auf. - Dann sortierte die
ORDER BY
– Klausel die Zeilen in jeder Partition nach Listenpreis in absteigender Reihenfolge., - Schließlich berechnete die
RANK()
– Funktion den Rang für jede Zeile in jeder Partition. Es hat den Rang für jede Partition neu initialisiert.
Das Folgende zeigt die Ausgabe:
In diesem Tutorial haben Sie gelernt, wie Sie den Rang eines Werts in einer Reihe von Werten mithilfe der Oracle RANK()
– Funktion berechnen.
- War dieses tutorial hilfreich?
- YesNo
Leave a Reply