Top n% Top n%
Ich habe den folgenden Code.
SQL> select * from student_gpa;
SSN GPA
--------------- ----------
22222 3
11111 4
55555 3
33333 4
44444 3
Ich habe diese Funktion, um die ersten beiden gpa-Score-Zeilen zu erhalten.
SQL> select * from (wähle ssn, gpa von student_gpa um von gpa desc) where rownum <= 2;
SSN GPA
--------------- ----------
11111 4
33333 4
Meine Frage ist, mit welcher Funktion ich die besten n% der GPA-Punktzahl erhalte. Zum Beispiel, da ich zwei Personen mit einem GPA von 4 habe, würde der dichte Rang 11111 zurückgeben, der die Zeile 1 und 22222 die Zeile 2 belegt. Eigentlich suchte ich nach einer Funktion, die 5% des GPA-Scores berechnet und der zurückgegebene Wert wäre Sowohl 11111 als auch 22222. Die 5% -Funktion SOLLTE NICHT nur 11111 zurückgeben. Selbst wenn ich mehr Einträge mit einem gpa von 4 hätte, würde die 5% -Funktion immer noch alle Zeilen mit einem gpa von 4 zurückgeben. Danke