【发布时间】:2017-04-18 12:57:41
【问题描述】:
我正在尝试编写查询以获取有关每个部门中最先雇用的员工的信息。我正在写下面的查询,我得到了
"ORA-00904: "RN": 标识符无效 00904. 00000 - "%s: 无效标识符"
查询:
select employee_id, department_id, first_name, last_name, hire_date,
ROW_NUMBER () over (partition by department_id order by hire_date) as rn
from employees
where rn =1;
你能解释一下“rn”标识符有什么问题吗?
【问题讨论】:
-
将查询添加为文本而不是图像链接
-
这是操作顺序问题。 SELECT 在引擎的 where 子句之后执行。所以在执行的时候,RN对于where子句是未知的。要解决使用@GordonLinoff 说明的子查询或CTE。 More info on a prior stack question