• Oracle中经典分页代码!


    在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢?

    --查询所有数据

    STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
    ------ -------------------- ---------- ---------- ----------                                                                                                                                            
    9      王五                         15 5.9876E+15          5                                                                                                                                            
    13     哈哈                         15 5.9876E+15          5                                                                                                                                            
    15     李四                         12 1.5666E+10          6                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5                                                                                                                                            
    1      66                           10 5566554666          5           

    比如说我要查询stuInfo表中第二到第四条记录

    --两层嵌套分页

    SQL> --两层嵌套分页
    SQL> select * from (select stuInfo.*,rownum as rn from stuInfo where rownum<=4) where rn >=2;
    
    STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN                                                                                                                                 
    ------ -------------------- ---------- ---------- ---------- ----------                                                                                                                                 
    13     哈哈                         15 5.9876E+15          5                                                                                                                                            
    15     李四                         12 1.5666E+10          6                                                                                                                                            
    1      66                           10 5566554666          5          

     

    --如果我没有对原始表有其他的排序操作的话,两层嵌套就可以满足需求了,但是如果我有一个条件是必须先将学号进行降序排列,然后取第二到第四条记录呢?

    那么就必须使用三层嵌套

    SQL> select * from (select stu.* , rownum as rn from (select stuInfo.* from stuI
    nfo order by stuno desc) stu where rownum<=4) where rn>=2;
    
    STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN
    ------ -------------------- ---------- ---------- ---------- ----------
    15     李四                         12 1.5666E+10          6          2
    13     哈哈                         15 5.9876E+15          5          3
    1      66                           10 5566554666          5          4

     这样就完成了分页查询了

  • 相关阅读:
    spring框架学习笔记(七)
    spring框架学习笔记(六)
    spring框架学习笔记(五)
    spring框架学习笔记(四)
    spring框架学习笔记(三)
    leetcode 147. Insertion Sort List ----- java
    leetcode 146. LRU Cache ----- java
    leetcode 145. Binary Tree Postorder Traversal ----- java
    leetcode 144. Binary Tree Preorder Traversal ----- java
    leetcode 143. Reorder List ----- java
  • 原文地址:https://www.cnblogs.com/liujiayun/p/5720612.html
Copyright © 2020-2023  润新知