'where clause' 中的未知列 'ROWNUM'
Unknown column 'ROWNUM' in 'where clause'
我阅读了很多有关此问题的主题,但其中大多数都遇到了一些复杂(至少对我而言)代码的问题;
我遵循了 oracle ROWNUM Pseudocolumn 指南,但是当我写
SELECT * FROM " + tableName + "
WHERE ROWNUM < 12;
我收到这个错误:
Unknown column 'ROWNUM' in 'where clause'
然后我尝试按照此处建议的解决方案进行操作 Select where row number = rownum
但没有任何变化。
我的代码如下所示:
sql = "SELECT C.* "
+ "FROM ( SELECT * "
+ " FROM " + tableName + " ) C "
+ "WHERE C.ROWNUM < 12;";
resultSet = statement.executeQuery(sql);
试试这个对你的问题有帮助:
select * from (select * from " + tableName + ") "WHERE C.ROWNUM < 12;
使用下面的
sql = ""
+ "SELECT C.*,ROWNUM as RECNUM "
+ "FROM ( "
+ " SELECT * "
+ " FROM " + tableName + " ) C "
+ "WHERE C.RECNUM < 12;";
结果集 = statement.executeQuery(sql);
试试这个:[如果你使用 mysql]
sql = ""
+ "SELECT C.* "
+ "FROM ( "
+ " SELECT * "
+ " FROM " + tableName + " ) C "
+ "LIMIT 11;";
resultSet = statement.executeQuery(sql);
对于 sql 服务器:
SELECT TOP 12 ...
可以参考http://www.w3schools.com/sql/sql_top.asp.
ROWNUM
用于Oracle
。假设您使用的是 MySQL
,因为您已将问题标记为 MySQL。
您可以将 ROWNUM
更改为 limit clause
SELECT * FROM " + tableName + "
LIMIT 11;
我阅读了很多有关此问题的主题,但其中大多数都遇到了一些复杂(至少对我而言)代码的问题; 我遵循了 oracle ROWNUM Pseudocolumn 指南,但是当我写
SELECT * FROM " + tableName + "
WHERE ROWNUM < 12;
我收到这个错误:
Unknown column 'ROWNUM' in 'where clause'
然后我尝试按照此处建议的解决方案进行操作 Select where row number = rownum 但没有任何变化。
我的代码如下所示:
sql = "SELECT C.* "
+ "FROM ( SELECT * "
+ " FROM " + tableName + " ) C "
+ "WHERE C.ROWNUM < 12;";
resultSet = statement.executeQuery(sql);
试试这个对你的问题有帮助:
select * from (select * from " + tableName + ") "WHERE C.ROWNUM < 12;
使用下面的
sql = ""
+ "SELECT C.*,ROWNUM as RECNUM "
+ "FROM ( "
+ " SELECT * "
+ " FROM " + tableName + " ) C "
+ "WHERE C.RECNUM < 12;";
结果集 = statement.executeQuery(sql);
试试这个:[如果你使用 mysql]
sql = ""
+ "SELECT C.* "
+ "FROM ( "
+ " SELECT * "
+ " FROM " + tableName + " ) C "
+ "LIMIT 11;";
resultSet = statement.executeQuery(sql);
对于 sql 服务器:
SELECT TOP 12 ...
可以参考http://www.w3schools.com/sql/sql_top.asp.
ROWNUM
用于Oracle
。假设您使用的是 MySQL
,因为您已将问题标记为 MySQL。
您可以将 ROWNUM
更改为 limit clause
SELECT * FROM " + tableName + "
LIMIT 11;