You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ORA-00936缺失表达式错误:ROW_NUMBER()写法问题排查

解决ORA-00936错误:ROW_NUMBER()函数语法问题

嘿,你遇到的这个ORA-00936(缺失表达式)错误,根源其实很明显——你写的ROW NUMBER()中间多了个空格!Oracle里的这个窗口函数是**ROW_NUMBER()**,必须是连在一起的一个整体,中间不能拆分。

原SQL里把函数名拆成了两个词,数据库根本识别不出这是个合法的函数,所以才会在这个位置报错。

给你修正后的完整SQL:

SELECT * FROM (
    SELECT contract_number, 
           ROW_NUMBER() OVER (PARTITION BY contract_number ORDER BY ID) RowNumber 
    FROM contracts
) a 
WHERE a.RowNumber = 1

这个修正后的语句就能正常执行了,它的作用是获取每个contract_number分组下,按ID排序后的第一条记录,完全符合你的需求~

内容的提问来源于stack exchange,提问作者joedoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:45:44