Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (P-Z)

 

PERCENT_RANK-Funktion [Rangfolge]

Bei jeder Zeile X, die durch die Argumente und ORDER BY-Spezifizierungen der Funktion festgelegt ist, bestimmt die PERCENT_RANK-Funktion den Rang der Zeile X - 1, dividiert durch die Anzahl der Zeilen in der Gruppe.

Syntax
PERCENT_RANK( ) OVER ( Fensterspezifikation )
Fensterspezifikation: Weitere Hinweise finden Sie im folgenden Abschnitt "Bemerkungen".
Rückgabe

Die PERCENT_RANK-Funktion gibt einen DOUBLE-Wert zwischen 0 und 1 zurück.

Bemerkungen

Elemente von Fensterspezifikation können in der Funktionssyntax (Inline) oder zusammen mit einer WINDOW-Klausel in der SELECT-Anweisung angegeben werden. Wenn sie als eine Fensterfunktion verwendet wird, müssen Sie eine ORDER BY-Klausel angeben und können eine PARTITION BY-Klausel angeben. Allerdings dürfen Sie keine ROWS- oder RANGE-Klausel angeben. Weitere Hinweise finden Sie unter der Fensterspezifikation-Definition unter WINDOW-Klausel.

Weitere Hinweise zur Verwendung von Fensterfunktionen in SELECT-Anweisungen mit Arbeitsbeispielen finden Sie unter Fensterfunktionen.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   SQL/OLAP-Funktion T612.

Beispiel

Das folgende Beispiel gibt eine Ergebnismenge zurück, die die Rangfolge der Gehälter von Mitarbeitern in New York anhand ihrer Geschlechtszugehörigkeit anzeigt. Die Ergebnisse sind in absteigender Sortierfolge gereiht und nach Geschlecht aufgeschlüsselt.

SELECT DepartmentID, Surname, Salary, Sex,
PERCENT_RANK() OVER (PARTITION BY Sex
ORDER BY Salary DESC) "Rank"
FROM Employees 
WHERE State IN ('NY');
DepartmentID Surname Salary Sex Rank
200 Martel 55700.000 M 0
100 Guevara 42998.000 M 0.333333333
100 Soo 39075.000 M 0.666666667
400 Ahmed 34992.000 M 1
300 Davidson 57090.000 F 0
400 Blaikie 54900.000 F 0.333333333
100 Whitney 45700.000 F 0.666666667
400 Wetherby 35745.000 F 1