第一种: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A ) 第二种: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A ) 第一种比第二种效率会高,这是因为:CBO 优化模式下,Oracle可以将外层的查询条件推到内层查询中,以提高内层查询的执行效率.对于第一个查询语句,第二层的查询条件WHERE ROWN…
只做简单记录 按操作时间排序1 SELECT A.*, ROWNUM RN FROM (SELECT * FROM v_log) A ORDER BY operatetime DESC 结果 可以发现,按时间排序了,但是rownum并不是从小到大,因为oracle是先生成rownum,再进行排序,需要在套一层查询 按操作时间排序2 SELECT T.*, rownum RN FROM( SELECT * FROM (SELECT * FROM v_log) ORDER BY operatetim…
查询分页的几种Sql写法 摘自:http://www.cnblogs.com/zcttxs/archive/2012/04/01/2429151.html 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTest use DBTest --创建测试表 create table pagetest ( id int identity(1,1) not null, col01 int null, col02 nvarchar(50) null, col03…
刚刚写的SQL语句在执行的时候报[ORA-01785: ORDER BY item must be the number of a SELECT-list expression]错误,于是自己百度了一下相关错误,发现是和Oracle排序语句的特殊写法有关系,这里记录一下. 先不说错误的问题,我们先用常规的写法写一句带排序子句的SQL语句. SELECT ID, CODE, NAME FROM STUDENT ORDER BY CODE; 这样写是能够正常执行的. 然后说一下排序子句的特殊写法.特…