分页查询
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21
中 A.*什么意思?
难道是新建一张A表作为缓冲表?
然后写了以下sql语句
select *,rownum from (select * from LOG where rownum<=40 );
数据库报错,然后我又改为以下语句
select username,rownum from (select * from LOG where rownum<=40 );
能得到username列和rownum列分页正常,那么为什么*和rownum不能共存呢?
rownum是oracle中的关键字,使用rownum和*号共存必须在*前加上别名. 或者会报错。
非常感谢,你解答了rownum与*号共存的问题,上面解答了A的意图
*一般都是全部的意思,*估计包括了rownum.
相当于
SELECT * FROM ( SELECT A.*, ROWNUM AS RN FROM (SELECT * FROM TABLE_NAME) AS A WHERE ROWNUM <= 40 ) WHERE RN >= 21
非常感谢, 你解答了A的意图