Heim >Datenbank >SQL >So verwenden Sie rank(over() in SQL

So verwenden Sie rank(over() in SQL

下次还敢
下次还敢Original
2024-05-09 07:42:18767Durchsuche

Die Funktion RANK() OVER() in SQL wird verwendet, um Datensätzen Rangfolgewerte zuzuweisen. Es akzeptiert eine ORDER BY-Klausel, die die zu ordnenden Spalten und die Sortierreihenfolge angibt. Zu den Parametern gehören: Spaltenname (zu ordnende Spalte), Sortierreihenfolge (aufsteigend oder absteigend) und Art und Weise, wie NULL-Werte behandelt werden (erster, letzter oder nur Nicht-NULL-Werte). Diese Funktion wird verwendet, um Datensätzen mit demselben Wert denselben Rang oder einen eindeutigen Rang zuzuweisen, und kann NULL-Werte ausschließen oder verarbeiten.

So verwenden Sie rank(over() in SQL

RANK() OVER() Verwendung in SQL

RANK() OVER() wird in SQL verwendet, um Daten zu ordnen und jedem Datensatz einen Rangwert zuzuweisen. Diese Funktion akzeptiert eine ORDER BY-Klausel, die die zu ordnenden Spalten und die Sortierreihenfolge angibt.

Syntax:

<code>RANK() OVER (ORDER BY 列名 [ASC|DESC] [NULLS FIRST|LAST|ONLY])</code>

Parameter:

  • Spaltenname: Geben Sie die Spalten an, die am Ranking teilnehmen sollen.
  • ASC|DESC: Geben Sie die Rangfolge an (aufsteigend oder absteigend).
  • NULLS FIRST|LAST|ONLY: Geben Sie an, wie mit NULL-Werten umgegangen werden soll.

Verwendung:

RANK() OVER()-Funktion wird verwendet, um verschiedene Arten von Rankings für Daten durchzuführen, einschließlich:

  • Zuweisen des gleichen Rankings zu Datensätzen mit demselben Wert
  • Zuweisen von Eindeutigkeit zu Datensätzen mit unterschiedlichem Wert Werte Rangfolge
  • NULL-Werte ausschließen oder NULL-Werte an erster/letzter Stelle einordnen

Beispiel:

Das folgende Beispiel ordnet die Datensätze in der Tabelle „Studenten“ basierend auf der Spalte „Punktzahl“ von hoch bis hoch niedrig:

<code>SELECT *, RANK() OVER (ORDER BY 分数 DESC) AS 排名
FROM 学生;</code>

Die Ergebnisse sind wie folgt:

Studentennummer Name Punktzahl Rangliste
1 Xiao. Ming 95 1
2 小华 90 2
3 Xiaoli 85 3
4 Xiaogang 80 4

Anmerkungen:

  • RANG () OVER() Rückgabe Die Rangfolgewerte beginnen bei 1, nicht bei 0.
  • Wenn es in der Spalte, nach der Sie eine Rangfolge erstellen, mehrere Datensätze mit demselben Wert gibt, wird diesen Datensätzen derselbe Rangwert zugewiesen.
  • Für NULL-Werte ordnet die Option NULLS FIRST NULL-Werte zuerst, die Option NULLS LAST rangiert NULL-Werte zuletzt und die Option NULLS ONLY ordnet nur Nicht-NULL-Werte ein.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie rank(over() 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