我正在编写一个非常简单的排名函数,通过在某些特定列上进行分区来计算每个组的排名。 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
答案 0 :(得分:1)
当您将SELECT *
与其他列一起使用时,您需要对其进行限定:
SELECT bb.*,
RANK() OVER (PARTITION BY STUDENTID, BOOKISBN ORDER BY ISSUEDATE ) as RN
FROM BORROWED_BY bb;