Oracle SQL:未在预期位置找到FROM关键字[已关闭]

f8rj6qna  于 2023-05-22  发布在  Oracle
关注(0)|答案(1)|浏览(132)

**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。

此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
谁能帮我写一下下面的SQL我从Oracle SQL Developer“ORA-00923:FROM关键字未在预期的“”位置找到,这通常只是因为缺少或放错了逗号。我只是看不出它在这个。

with counts AS (
select country_cd, count(*) as cnt
from country_use_def
group by country_cd)
select *, RANK() OVER(ORDER BY cnt DESC) as rank
from counts;

错误指向第5行的“select *”。如果我删除,和RANK和OVER子句,它工作,但我想在查询中保留RANK/OVER。

3vpjnl9f

3vpjnl9f1#

问题不在于窗口函数本身,而在于窗口函数使用的别名。由于“rank”是一个reserved keyword,DBMS将尝试将您的别名视为窗口函数。
将您的别名重命名为,比如说“rn”,DBMS不会抱怨它。

WITH counts AS (
    SELECT country_cd, 
           COUNT(*) as cnt
    FROM country_use_def
    GROUP BY country_cd
)
SELECT *, 
       RANK() OVER(ORDER BY cnt DESC) AS rn
FROM counts;

相关问题