Oracle SQL Developer中的分析函数抛出错误

时间:2017-04-17 20:30:05

标签: sql oracle window-functions

我正在编写一个非常简单的排名函数,通过在某些特定列上进行分区来计算每个组的排名。 sql对我来说很简单,但我真的不明白为什么我会收到ORA错误。请找到我的sql和错误如下。任何输入将不胜感激。感谢。

SQL :-

 SELECT *,
        RANK() OVER( PARTITION BY STUDENTID,BOOKISBN ORDER BY ISSUEDATE )  "RN"
   FROM BORROWED_BY;

Error:-

ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:
Error at Line: 10 Column: 9

1 个答案:

答案 0 :(得分:1)

当您将SELECT *与其他列一起使用时,您需要对其进行限定:

SELECT bb.*,
       RANK() OVER (PARTITION BY STUDENTID, BOOKISBN ORDER BY ISSUEDATE ) as RN
FROM BORROWED_BY bb;