`
jiangmq100083
  • 浏览: 11423 次
  • 性别: 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

 

分享到:
评论

相关推荐

    MyBatisPlus条件构造器带条件排序方法orderBy、orderByDesc、orderByAsc使用示例代码

    在实际开发中,我们经常需要对查询结果进行排序,MyBatisPlus为此提供了`orderBy`、`orderByDesc`和`orderByAsc`三个方法,方便我们实现条件排序。下面将详细介绍这三个方法的使用及原理。 `orderBy`方法是...

    ROWNUM的使用技巧

    order by a.column_name ) a ) b where b.rn ; ``` 这将返回结果中的前 5 条记录,并且正确地排序和取值。 其他实现方式 另外一种实现方式是使用 ROWNUM 和 MINUS 操作符结合来实现分页查询。例如: ```...

    DBA面试题

    - 使用子查询结合ORDER BY和ROWNUM来返回前N个结果: ```sql SELECT * FROM ( SELECT * FROM employees ORDER BY salary DESC ) WHERE ROWNUM ; ``` **注意事项:** - 上述查询中,ORDER BY子句必须放在子查询...

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    例如,如果一个表中有两个值相同的记录,`ORDER BY`可能在这两个记录的相对顺序上有所不同,这取决于数据库的内部处理机制和优化策略。 在描述中提到的问题中,当使用`ORDER BY`对包含非唯一值的列进行排序,并结合...

    oracle rownum 的使用 和sqlserver有区别的!

    - Oracle 中的 ROWNUM 不受 ORDER BY 影响,即无论是否使用 ORDER BY 子句,ROWNUM 都是从 1 开始计数的。 - 而在 SQL Server 中,如果需要按特定顺序为行分配行号,则必须使用 ORDER BY 与 ROW_NUMBER() 结合的...

    ORACLE 中ROWNUM用法总结

    SELECT * FROM table ORDER BY some_column ) t WHERE ROWNUM ) WHERE rnum &gt; 10; ``` #### 误区2:`BETWEEN`操作符的使用 同样地,`BETWEEN`操作符在`ROWNUM`的使用上也有局限性。例如,`ROWNUM BETWEEN 1 AND...

    Oracle rownum.docx

    解决这个问题的方法是将ROWNUM和ORDER BY一起放入子查询,如`SELECT ROWNUM, id, name FROM (SELECT * FROM student ORDER BY name)`,这样ROWNUM将会按照name列的排序生成。 总的来说,理解并掌握Oracle中的ROWNUM...

    oracle的rownum用法

    4. 如果表中的主键是按照升序插入的,且查询中没有`GROUP BY`和`ORDER BY`子句,`ROWNUM`的顺序可能与主键的顺序一致。但这是偶然的,不是`ROWNUM`的固有特性。 5. 在子查询中使用`ROWNUM`并将其传递到外部查询中时...

    oracle rownum 学习

    七、ROWNUM和排序 Oracle中的ROWNUM是在取数据的时候产生的序号,所以想对指定排序的数据去指定的ROWNUM行数据就必须注意了。例如: ```sql SELECT ROWNUM, ID, NAME FROM STUDENT ORDER BY NAME; ``` 可以看出,...

    解析rownum

    `ORDER BY`用于确定返回行的顺序,而`ROWNUM`则根据这个顺序进行赋值。因此,如果你需要按特定顺序分页,必须先`ORDER BY`,再用`ROWNUM`。 5. **分页查询优化**: 在实际应用中,为了提高性能,我们通常使用`...

    在oracle中灵活使用Rownum和rowId

    ### 在Oracle中灵活使用Rownum和RowId 在Oracle数据库中,`ROWNUM` 和 `ROWID` 是两个非常重要的概念,它们可以帮助我们在查询数据时实现更灵活的数据管理。本文将详细介绍这两个概念的区别及其使用方法,并通过...

    Oracle利用rownum查询出部分数据[归类].pdf

    当我们同时使用`ORDER BY`和`ROWNUM`时,`ORDER BY`并不会影响`ROWNUM`的生成顺序。换句话说,`ROWNUM`是基于查询开始时未排序的数据生成的。例如,`SELECT * FROM table1 WHERE ROWNUM &lt; 4 ORDER BY AAA`虽然对结果...

    oracle中rownum的用法及解说

    - 为了确保`ROWNUM`的值与`ORDER BY`的结果一致,应先进行排序,再计算`ROWNUM`。 - **示例**: ```sql SELECT * FROM (SELECT ROWNUM NO, ID, NAME FROM (SELECT * FROM STUDENT ORDER BY NAME)) WHERE NO ; `...

    oracle-rownum用法

    SELECT ROWNUM, id, name FROM student ORDER BY name; ``` 可以看出,ROWNUM 并不是按照 name 列来生成的序号。系统是按照记录插入时的顺序给记录排的号,ROWID 也是顺序分配的。为了解决这个问题,必须使用子查询...

    oracle rownum 使用技术.pdf

    2. **ORDER BY与ROWNUM的交互**:如果需要先排序再限制结果数量,最好使用子查询的方法,确保排序后的数据被正确计数。 3. **性能考虑**:在处理大量数据时,应考虑使用其他方法如窗口函数(如RANK()、ROW_NUMBER()...

    oracle中rownum的用法

    SELECT * FROM (SELECT * FROM TABLE_NAME ORDER BY COLUMN) WHERE ROWNUM ; ``` 这种方法通过先排序后应用`ROWNUM`的方式,能够更高效地检索数据。 ##### 2. 获取特定范围内的数据 如果您想要获取某个特定范围内的...

    如何在Oracle中实现SELECT TOP N的方法

    Oracle中常用的方法是结合`ORDER BY`和`ROWNUM`来实现。首先,对数据进行排序,然后通过`WHERE ROWNUM 来限制返回的行数。例如,要从`customer`表中按照`NAME`字段升序获取前三条记录,可以编写如下SQL: ```sql ...

    oracle_SQL中rowid与rownum的使用

    2. **优化查询**:与`ORDER BY`一起使用时,先筛选`ROWNUM`再排序可以提高效率,避免全表排序。 3. **联合查询**:在多个表的连接查询中,通过`ROWNUM`过滤结果可以减少不必要的数据处理。 五、ROWID应用示例 `...

    Oracle--ROWNUM.rar_oracle

    需要注意的是,`ROWNUM`的筛选是在数据读取过程中进行的,而非对整个数据集进行排序后筛选,所以如果你没有指定`ORDER BY`子句,返回的结果顺序可能是不确定的。 在进行分页查询时,`ROWNUM`结合`ROWCOUNT`或者`...

    如何在Oracle中实现SELECT_TOP_N的方法

    1. **基本方法:使用ROWNUM和ORDER BY** Oracle中通常使用`ROWNUM`和`ORDER BY`结合的方式实现`SELECT TOP N`的功能。首先对数据进行排序,然后通过`ROWNUM`限制返回的行数。例如,如果我们有一个名为`CUSTOMER`的...

Global site tag (gtag.js) - Google Analytics