Heim  >  Artikel  >  Datenbank  >  Verwendung von Rang in SQL

Verwendung von Rang in SQL

下次还敢
下次还敢Original
2024-05-02 02:30:251135Durchsuche

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>

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>

Ergebnis

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

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!

Stellungnahme:
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