-1
我有如下表:SQL解析函数无效的错误
EMP_ID COURSE_ID COMPLETION_TIME
1 c1 11-APR-99
1 c1 15-APR-99
1 c1 17-APR-99
2 c2 14-FEB-99
2 c2 18-FEB-99
,我使用此查询:
SELECT e.emp_id,
e.course_id,
e.completion_time
FROM (SELECT emp_id,
course_id,
completion_time,
Row_number()
over(
PARTITION BY emp_id, course_id
ORDER BY completion_time DESC) AS "rn"
FROM amartya) e
WHERE rn = 1;
它总是显示我
ORA-00904 , 不合法的识别符。
我不明白什么是混淆的问题。请帮忙。
不确定“finicky”是什么意思。 Oracle的行为与SQL标准所要求的双引号完全相同 –
感谢它的工作 实际上,我的要求是编写一个查询,它将删除没有最后完成时间的记录,这就是为什么我想给row_number然后删除没有row_number = 1 –
@AmartyaSinha的记录。 。 。你应该问另一个问题。 “DELETE”操作与“SELECT”非常不同。如果你改变了这个问题,你很可能会使已经给出的答案失效,这可能导致降低成本 - 原本正确的答案来自试图帮助你的人。 –