sql - ORA - 00936 错误,但无法找到第 2 行中缺少的内容

标签 sql oracle syntax-error row-number ora-00936

我正在尝试执行此代码,但它说我在 row_number() 表达式中缺少一些内容,我根本无法弄清楚。

with summary as 
(select s.city, length(s.city) as C_length, 
row_number() over (partition by length(s.city), order by s.city)
as r1 from station s
where 
length(s.city) = (SELECT min(LENGTH(s1.CITY)) FROM STATION s1)
or length(s.city) = (SELECT max(LENGTH(s2.CITY)) FROM STATION s2))
select su.city, su.C_length 
from summary su;

最佳答案

partition by 子句和 order by 子句之间不应有逗号。只需删除它就可以了:

row_number() over (partition by length(s.city) order by s.city)
-- Comma removed here ------------------------^

关于sql - ORA - 00936 错误,但无法找到第 2 行中缺少的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42401498/

相关文章:

mysql - SQL : update statement with dynamic column value assignment

xml - PLSQL的extractValue方法中不正确的XPath

javascript - 在 propTypes 中 react 错误

sql-server - Oracle 和 SQL Server 中相同查询不同结果

java - 为什么我在尝试编译 servlet 时会收到无效标志错误?

django - Django1.4与Python3.2不兼容吗?

Python:使用 lineno 引发 SyntaxError

php - 使用 PDO 通过单个查询插入多行

PHP If 语句在过滤 SQL 表时不起作用

c# - 合并 SQL 查询