Heim > Datenbank > SQL > Verwendung von Rang in SQL

Verwendung von Rang in SQL

下次还敢
Freigeben: 2024-05-02 02:30:25
Original
1176 Leute haben es durchsucht

Die RANK-Funktion in SQL ordnet Zeilen nach der Sortierung nach der angegebenen Spalte. Die Ergebnismenge gibt die Rangfolge jeder Zeile zurück, beginnend bei 1, und derselbe Wert hat die gleiche Rangfolge. Der Partitionsausdruck kann die Partitionsspalte angeben, und die Rangfolge wird nur innerhalb jeder Partition durchgeführt. Der Sortierausdruck gibt die Sortierspalte an, und die Rangfolge wird anhand der Reihenfolge der Daten in dieser Spalte bestimmt.

Verwendung von Rang in SQL

Verwendung der RANK-Funktion in SQL

Die RANK-Funktion wird verwendet, um eine Reihe von Zeilen basierend auf der Reihenfolge der Daten in einer bestimmten Spalte zu ordnen. Es handelt sich um eine Aggregatfunktion, die den Rang jeder Zeile im aggregierten Ergebnissatz zurückgibt.

Syntax

<code>RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)</code>
Nach dem Login kopieren

Parameter

  • partitionsausdruck: Optional, gibt die Partitionsspalte an. Wenn angegeben, erfolgt die Rangfolge nur innerhalb jeder Partition.
  • order_expression: Gibt die Sortierspalte an. Die Zeilen werden basierend auf der Reihenfolge der Daten in dieser Spalte geordnet.

Rückgabewert

RANK-Funktion gibt eine Ganzzahl zurück, die die Rangfolge jeder Zeile darstellt. Die Rangfolge beginnt bei 1, wobei die erste Zeile den höchsten Rang hat. Wenn mehrere Zeilen denselben Wert haben, haben sie denselben Rang.

Beispiel

<code class="sql">SELECT department_id, employee_name, RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employee_table;</code>
Nach dem Login kopieren

Ergebnis

<code>department_id | employee_name | rank
------------- | ------------- | ----
1             | John Smith    | 1
1             | Jane Doe      | 2
2             | Peter Parker  | 1
2             | Mary Johnson | 2</code>
Nach dem Login kopieren

In diesem Beispiel sortieren wir employee_tabledepartment_id 分区并按 salary in absteigender Reihenfolge. Für jede Abteilung werden die Mitarbeiter nach ihrem Gehalt eingestuft.

HINWEIS

  • Wenn kein Partitionsausdruck angegeben ist, erfolgt die Rangfolge über die gesamte Tabelle.
  • RANK-Funktion reagiert empfindlich auf doppelte Werte. Wenn mehrere Zeilen denselben Wert haben, haben sie denselben Rang.
  • RANK-Funktion ähnelt der DENSE_RANK-Funktion, aber die DENSE_RANK-Funktion überspringt die Rangfolge doppelter Werte nicht.

Das obige ist der detaillierte Inhalt vonVerwendung von Rang in SQL. 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