Top n por cento topo n%
Eu tenho o seguinte código.
SQL> select * from student_gpa;
SSN GPA
--------------- ----------
22222 3
11111 4
55555 3
33333 4
44444 3
Eu tenho essa função para obter as duas primeiras linhas de pontuação gpa.
SQL> select * from (selecione ssn, gpa de student_gpa order por gpa desc) onde rownum <= 2;
SSN GPA
--------------- ----------
11111 4
33333 4
Minha pergunta é qual função eu uso para obter os primeiros n% da pontuação GPA. Por exemplo, como tenho dois indivíduos com um GPA de 4, a classificação densa retornaria 11111 ocupando a linha 1 e 22222 ocupando a linha 2. Eu estava realmente procurando uma função que calculasse 5% da pontuação da GPA e o valor retornado seria 11111 e 22222. A função de 5% NÃO DEVE retornar apenas 11111. Mesmo se eu tivesse mais entradas que tivessem gpa de 4, a função 5% ainda retornaria todas as linhas que tivessem gpa de 4.Thanks