Top n por ciento top n%
Tengo el siguiente código.
SQL> select * from student_gpa;
SSN GPA
--------------- ----------
22222 3
11111 4
55555 3
33333 4
44444 3
Tengo esta función para obtener las dos primeras filas de puntuación gpa.
SQL> select * from (seleccione ssn, gpa from student_gpa order by gpa desc) donde rownum <= 2;
SSN GPA
--------------- ----------
11111 4
33333 4
Mi pregunta es qué función utilizo para obtener el máximo n% de la puntuación de GPA. Por ejemplo, dado que tengo dos individuos con un GPA de 4, el rango denso devolvería 11111 ocupando la fila 1 y 22222 ocupando la fila 2. Realmente estaba buscando una función que diga que calcula el 5% de la puntuación del GPA y el valor devuelto sería tanto 11111 como 22222. La función del 5% NO DEBERÍA devolver solo 11111. Incluso si tuviera más entradas que tuvieran un gpa de 4, la función del 5% todavía devolvería todas las filas que tenían un gpa de 4. Gracias