Unknown column 'rownum' in 'where clause'解决方案

来源:互联网 发布:vb颜色代码大全 编辑:程序博客网 时间:2024/04/29 19:19

Unknown column 'rownum' in 'where clause',当在嵌套的查询语句里面用到rownum的时候会遇到这个问题,比如:

SELECT * FROM  (select t.id,t.name from USER_INFO t where t.status=0 order by t.EMP_ID desc)  _queryForTop  where rownum <=10;

这条sql语句查询的时候就会遇到Unknown column 'rownum' in 'where clause'这个错误。

看了下mysql官方的解释,发现在嵌套的查询语句中,当用到where的时候,数据的条数可能还没有被决定, rownum这是根本都还没出来。所以会报错。有遇到这个问题的兄弟们,只能改一改你们的sql语句咯。

mysql官方的链接如下:http://bugs.mysql.com/bug.php?id=38879

http://dev.mysql.com/doc/refman/4.1/en/problems-with-alias.html

原来的那段文字如下:

Standard SQL disallows references to column aliases in a WHERE clause. This restriction is imposed because when the WHERE clause is evaluated, the column value may not yet have been determined.





原创粉丝点击