排名前N%的学生oracle

时间:2012-10-10 19:15:59

标签: oracle sqlplus

  

可能重复:
  Top n percent top n%

 SQL> select ssn, gpa from (select ssn, gpa,
 rank() over(partition by ssn order by gpa desc) as rank,
 count(*) over(partition by ssn) as no_students

 SQL> from students_gpa)

  Error
                 *

第1行的错误: ORA-00936:缺少表达

我正努力让5%的学生获得4分的GPA。由于我有两名GPA为4的学生,我想报告两名学生而不仅仅是一名学生占据第一排。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试将包含多个空行的SQL语句复制并粘贴到SQL * Plus中。如果是这样,您需要在复制和粘贴之前删除空行,或者在粘贴包含空行的查询之前需要在SQL * Plus中运行SQL * Plus命令set sqlblanklines on