Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit der SQL Server RANK()
– Funktion einen Rang für jede Zeile innerhalb einer Partition einer Ergebnismenge berechnen.
Einführung in die SQL Server RANK () – Funktion
Die RANK()
– Funktion ist eine Fensterfunktion, die jeder Zeile innerhalb einer Partition einer Ergebnismenge einen Rang zuweist.
Die Zeilen innerhalb einer Partition mit denselben Werten erhalten denselben Rang. Der Rang der ersten Zeile innerhalb einer Partition ist eins., Die Funktion RANK()
addiert die Anzahl der gebundenen Zeilen zum gebundenen Rang, um den Rang der nächsten Zeile zu berechnen.
Im Folgenden wird die Syntax der Funktion RANK()
dargestellt:
In dieser Syntax:
- Zunächst teilt die Klausel
PARTITION BY
die Zeilen der Partitionen der Ergebnismenge, auf die die Funktion angewendet wird. - Zweitens gibt die
ORDER BY
– Klausel die logische Sortierreihenfolge der Zeilen in jeder Partition an, auf die die Funktion angewendet wird.,
Die RANK()
Funktion ist nützlich für top-N und bottom-N Berichte.,“>
Zweite, fügen sie einige zeilen in die sales.rank_demo
tabelle:
Code language: SQL (Structured Query Language) (sql)
Dritte, abfrage daten aus der sales.rank_demo
tabelle:
Code language: SQL (Structured Query Language) (sql)
Vierte, verwenden die ROW_NUMBER()
zum Zuweisen von Rängen zu den Zeilen in der Ergebnismenge von sales.rank_demo
Tabelle:
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
Wie deutlich aus die Ausgabe, die zweite und dritte Zeile erhalten den gleichen Rang, weil sie den gleichen Wert B haben., Die vierte und fünfte Zeile erhalten den Rang 4, da die Funktion RANK()
den Rang 3 überspringt und beide auch die gleichen Werte haben.,iv id=“6657ab2abb“>
funktion:
Mit SQL Server RANK() funktion über eine ergebnis set beispiel
Die folgenden beispiel verwendet die RANK()
funktion zu weisen ränge zu die produkte nach ihren Listenpreisen:
Hier ist die Ergebnismenge:
In diesem Beispiel haben wir die PARTITION BY
– Klausel übersprungen, die RANK()
– Funktion behandelte die gesamte Ergebnismenge als einzelne Partition.,
Die Funktion RANK()
weist jeder Zeile innerhalb der Ergebnismenge einen Rang zu, sortiert nach Listenpreis von hoch nach niedrig.,
Verwenden der SQL Server RANK () – Funktion über Partitionen Beispiel
Dieses Beispiel verwendet die RANK()
– Funktion, um jedem Produkt einen Rang nach Listenpreis in jeder Marke zuzuweisen, und gibt Produkte mit einem Rang von weniger als oder gleich drei zurück:
Das folgende Bild zeigt die Ausgabe:
In diesem Beispiel:
- Zunächst teilt die Klausel
PARTITION BY
die Produkte nach Marken-ID in Partitionen auf., - Zweitens sortiert die
ORDER BY
– Klausel Produkte in jeder Partition nach Listenpreisen. - Drittens gibt die äußere Abfrage die Produkte zurück, deren Rangwerte kleiner oder gleich drei sind.
DieRANK()
– Funktion wird auf jede Zeile in jeder Partition angewendet und beim Überschreiten der Partitionsgrenze neu initialisiert.
In diesem Tutorial haben Sie gelernt, wie Sie mit der Funktion SQL Server RANK()
jeder Zeile innerhalb einer Partition einer Ergebnismenge einen Rang zuweisen.