TOP-N查询:
1.功能:主要是实现表中按照某个列排序,输出最大或最小的N条记录
2.语法
SELECT [列名],ROWNUM FROM ( SELECT [列名] FROM 表名 ORDER BY Top-N操作的列 ASC|DESC) WHERE ROWNUM<=N; |
注:ASC--查询最小的N条记录
DESC--查询最大的N条记录
分页查询
1.功能
2.语法
SELECT b.* FROM (SELECT ROWNUM rn,[列名1,列名2,列名3...列名n] FROM 表名1[,表名2,...,表名n] WHERE [ 条件表达式 AND ] ROWNUM<=目标页数*每页记录数) b WHERE rn>(目标页数-1)*每页记录数; |
或者 |
SELECT b.* FROM (SELECT ROWNUM rn,[列名1,列名2,列名3...列名n] FROM 表名1[,表名2,...,表名n] WHERE [ 条件表达式 ]) b WHERE rn<=目标页数*每页记录数 AND rn>(目标页数-1)*每页记录数; |
注:方法一效率更高,因为子查询里的记录少