`
jiangmq100083
  • 浏览: 10935 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

order by和rownum

 
阅读更多

如果想要做一个查询,想先排序再取前几条,以下这样写是不行的:

select *

from tableName

where rownum < 10

order by columnName

因为这些写的话,根据sql文的执行顺序,会先运行where语句,再运行orderby语句。所以会先把前10条抽出来,再排序。

如果像实现之前的需求,需要这么写:

select *

from

(select * from tableName

order by columnName)

where rownum < 10

 

分享到:
评论

相关推荐

    oracle中rownum和row_number()

    row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。 与rownum的区别在于:使用rownum进行排序的...

    上海部分公司面试题目和Java技巧

    4 order by salary desc) 5 where rownum; ROWNUM LAST_NAME SALARY ---------- ------------------------- ---------- 1 Velasquez 4750 2 Ropeburn 2945 3 Nguyen 2897.5 注意:请大家分析一下...

    在ORACLE中SELECT TOP N的实现方法

     由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。  简单地说,实现方法如下所示: SELECT 列名1...列名n FROM (SELECT 列名1...列名n...

    Oracle中使用伪列rownum实现分页查询

    伪列rownum rownum是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数 ...select * from emp order by sal desc ) where rownum&lt;=3 结果如下: 原创文章 4获赞 4访问量 62 关注 私信

    oracle与SQL server的语法差异总结

    Oracle与SQL Server应用差异对比分析在Oracle中采用伪列rownum 获取结果集中排在前面的部分记录 ...Select * from (Select a.*,rownum as nrow from tab01 a order by code) where nrow between 10 and 20

    根据时间拆分记录的方法

    WITH t2 AS (SELECT ROWNUM-1 rn FROM dual CONNECT BY ROWNUM(SELECT MAX( ceil(months_between(e_date,s_date)))+1 FROM URP_WAGE.T_WAGE_BASE_ITEM_BKYM)) SELECT employee_id,year_month, Add_months(s_date,...

    sqlServer使用ROW_NUMBER时不排序的解决方法

    [sql] with query as (select ROW_NUMBER() over(order by (select 0)) AS ROWNUM, * FROM Product) select * from query where ROWNUM BETWEEN 5 AND 10 –2.ROW_NUMBER必须指写over (order by **),有时我根本就...

    SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER

    索引 经常要查询的语句,则给它建一个索引 表连接 select T_Oders as o join T_Customers as C on o.CustomerId = c.Id 子查询 单值子查询 单列多值子查询 ROW_NUMBER()函数 ROW_NUMBER() OVER(ORDER BY Fsalary ...

    SQL基本语句

     delete from 表名 [where 条件] [order by 列名] [Limit 删除的行数rowNum];  删除满足条件的按列名排序后的所有记录的第rowNum行 #排序  select 列名 from 表名 order by 列名 [desc(降序)] [limit...

    SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

    (一)行号显示和排序 1.SQL Server的行号 A.SQL 2000使用identity(int,1,1)和临时表,可以显示行号 SELECT identity(int,1,1) AS ROWNUM, [DataID] INTO #1 FROM DATAS order by DataID; SELECT * FROM #1 B.SQL ...

    sql面试题(查看数据中指定几行记录)

    代码如下:–SQL server select top 10 * from (select top 40 * from table1 order by ID) a order by ID desc –Oracle select * from (select top 40 * from t order by ID) a where rownum&gt;30 您可能感兴趣的...

    Sql Server 的SQL语句案例

    有完整的案例SQL语句,直接拷贝运行。... SELECT ROW_NUMBER() OVER(ORDER BY FSalary DESC) AS rownum, FNumber,FName,FSalary,FAge FROM T_Employee ) AS a WHERE a.rownum&gt;=3 AND a.rownum&lt;=5

    高效的通用分页存储过程

    'select row_number() over (order by ' + @strSort + ') as RowNum ,' + @fldName + ' from ' + @tblName + ') a where a.RowNum &gt; ' + cast((@page -1) * @pageSize as varchar(128)) + ' and a.RowNum (@...

    深入探讨:oracle中row_number() over()分析函数用法

    row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。 与rownum的区别在于:使用rownum进行排序的...

    oracle通过行范围查询取4至10行并排序

    不能直接用rownum,要查询出来以后用别名转换。 以EMP表为范例,取4至10行: select * from (select...select a.* from eba02 a order by eba003) t where rownum &lt;= 110) where rn &gt;= 110; 您可能感兴趣的文章:Or

    仿orm自动生成分页SQL分享

    代码如下:— OracleSELECT * FROM ( SELECT ROWNUM RN, PageTab.* FROM ( SELECT * FROM User_Tables order by id desc ) PageTab where ROWNUM &lt;= 3010 ) Where RN&gt;= 3001 — SQLite select * from User_...

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    Oracle查询中rownum与Order by查询 45 oracle9i小结 46 Oracle 数据库的聚簇技术 61 数据库、服务名、实例 63 Oracle内存结构 64 sys用户和system用户 67 Oracle SQL语句 67 GROUPING SETS分组 74 Oracle外部程序...

    SQL语句生成及分析器(中文绿色)

    3.6 排序 (Order By) 3.7 数据表的内连接、外连接 3.7.1 SQL 92 标准:Inner Join、Left Join、Right Join、Full Join, 3.7.2 特殊语法:*=、=*、*=*(MS_SQL,Sybase),(+)(Oracle) 3.8 联合 (Union ...

    Oracle数据库、SQL

    5.4 order by后面可以跟什么 10 5.5多列排序 10 六、 单行函数的使用 11 6.1数值类型 11 6.2日期类型 11 6.3字符类型 13 6.4转换函数 14 6.5其他注意事项 14 七、 SQL语句中的分支 15 7.1分支表达式 15 7.2分支函数 ...

    Oracle 9i与MS SQL Server 2000之比较

    在SQL Server中可以用top n 来返回指定数量的纪录,Oracle中与之对应的是 rownum,只 是不同的是:SQL Server的top n 是逻辑顺序返回的纪录,而Oracle的 rownum ...序的序号,其物理的序号是在order by之前就已经决定好了的.

Global site tag (gtag.js) - Google Analytics