我有一个 sql 语句,它应该选择按行号排序的表的所有内容。所以我使用了 row_number 函数。
但我每次都会出错
Exception in thread "main" java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected
或者这个错误
ORA-00936: missing expression
我的声明是这样的:
SELECT row_number() OVER(ORDER BY table.column1) AS row, table.*
FROM table
WHERE column2= ("Any String")
ORDER BY row;
我希望你能帮助我完成这段代码。
谢谢
最佳答案
如果您尝试为该结果列使用名称 row
,您会遇到问题,因为它是 Reserved Word在甲骨文中。为该列选择一个不同的名称,或者用 ""
引号将其括起来(quoted identifier :
SELECT row_number() OVER(ORDER BY table.column1) AS "row", table.*
FROM table
WHERE column2= ("Any String")
ORDER BY "row";
(不过我通常会选择不同的名字)
关于sql - 在预期的位置找不到 row_number() FROM 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19313413/