今天使用Oracle的ROWNUM时候,发现总是提醒ORA-00918:未明确定义列
这个错误。
反复检查编写的语句之后找不出问题,最后请教项目组中前辈,找到原因:
ROWNUM这个用法不能对有重复的列进行使用。就是查询的表中不能有重复定义的列名。
SELECT
*
FROM
-- table1中的列不能有重复名字的
(SELECT table1.* ,ROWNUM AS rowno FROM table1 WHERE ROWNUM <= 10) row1
WHERE
row1.rowno > 0
*** 如有错误,欢迎指正 ***