Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie die SQLite RANK()
– Funktion verwenden, um die Ränge für Zeilen in der Ergebnismenge einer Abfrage zu berechnen.
Einführung in die Funktion SQLite RANK ()
Die Funktion RANK()
ist eine Fensterfunktion, die jeder Zeile in der Ergebnismenge einer Abfrage einen Rang zuweist. Der Rang einer Zeile wird durch eins plus die Anzahl der Ränge berechnet, die davor stehen.,
Im Folgenden wird die Syntax der Funktion RANK()
dargestellt:
In dieser Syntax:
- Zunächst teilt die Klausel
PARTITION BY
die Zeilen der Ergebnismenge in Partitionen auf. - Zweitens gibt die
ORDER BY
– Klausel die Reihenfolge der Zeilen in jeder Partition an. - Drittens wird die
RANK()
– Funktion auf jede Zeile in jeder Partition angewendet und beim Überschreiten der Partitionsgrenze neu initialisiert.
Die gleichen Spaltenwerte erhalten die gleichen Ränge., Wenn mehrere Zeilen denselben Rang haben, ist der Rang der nächsten Zeile nicht aufeinanderfolgend. Dies ist wie die olympische Medaille, bei der es keine Silbermedaille geben wird, wenn zwei Athleten die Goldmedaille teilen.,913ee4e2a9″>
Drittens, abfrage daten aus die RankDemo
tabelle:
Vierte, verwenden die RANK()
Funktion zum Zuweisen von Rängen zu den Zeilen in der Ergebnismenge von RankDemo
Tabelle:
Hier ist die Ausgabe:
Wie Sie der Ausgabe deutlich entnehmen können, erhalten die dritte und vierte Zeile denselben Rang, da sie denselben Wert haben., Die fünfte Zeile erhält den Rang 5, da die Funktion RANK()
den Rang 4 überspringt.
SQLite RANK() Funktionsbeispiele
Um die FunktionRANK()
zu demonstrieren, verwenden wir die Tabelletracks
aus der Beispieldatenbank.,
Mit SQLite RANK() Funktion mit ORDER BY klausel example
Die folgende Anweisung verwendet die RANK()
Funktion Tracks nach ihrer Länge zu ordnen:
In diesem Beispiel haben wir die Klausel PARTITION BY
übersprungen, daher behandelt die Funktion RANK()
die gesamte Ergebnismenge als einzelne Partition.
Zunächst sortiert dieORDER BY
– Klausel die Spuren nach ihrer Länge (SpalteMilliseconds
).,
Zweitens wird die RANK()
– Funktion unter Berücksichtigung der Reihenfolge der Spuren nach ihrer Länge auf jede Zeile in der Ergebnismenge angewendet.,
Mit SQLite RANK() funktion mit PARTITION DURCH beispiel
Die folgende anweisung verwendet die RANK()
funktion zu weisen eine rang zu jeder spur in jedem album:
Die folgende bild zeigt die teil ausgang:
In diesem Beispiel:
- Zuerst teilt die
PARTITION BY
Klausel die Tracks in Alben. - Dann sortiert die
ORDER BY
– Klausel die Spuren nach ihrer Länge., - Schließlich weist die
RANK()
– Funktion jedem Track in jedem Album einen Rang zu. Wenn sich das Album ändert, initialisiert die FunktionRANK()
den Rangwert neu.
Es ist möglich, den zweitlängsten Track in jedem Album mithilfe der folgenden Unterabfrage zu finden:
Die Ausgabe lautet wie folgt:
In diesem Tutorial haben Sie gelernt, wie so verwenden Sie die SQLite RANK()
– Funktion, um jeder Zeile in einer Ergebnismenge einen Rang zuzuweisen.,
- War dieses tutorial hilfreich ?
- YesNo