zoukankan      html  css  js  c++  java
  • oracle 分页的sql语句

    已知有两种方法效率上貌似第一种更优:

    1、

    select * from
    (
    select t1.*, rownum n
    from (select * from cm_log order by oper_time desc) t1
    where rownum <= 5000
    ) b where b.n >5;

    注:rownum 和 order by 同时出现在where 语句中时除非 order by 的主键否则都是按先执行rownum后排序,所以这里用了先子查询排序在执行rownum条件, 还有个用子查询的原因是 取ownum n这个伪列 只有子查询才能取出1.2.3.。这样的否则是取得本来的rownum。

    2、

    select * from (select * from cm_log order by oper_time desc) where rownum<=5000
    minus
    select * from (select * from cm_log order by oper_time desc) where rownum<=5

    注:r不能用大于号, 百度解释说rownum > 5这样的条件找第一行rownum是1不符合,到第二行时rownum又变成了1所以永远查不出来数据。

  • 相关阅读:
    JS闭包
    webpack管理资源
    在webpack中使用配置文件
    webpack起步
    buuctf-MISC 面具下的flag
    Kali linux Steghide开源隐写工具
    buuctf-misc 九连环
    buuctf-Crypto rsarsa 1
    buuctf-web HardSQL 1
    buuctf-web Hack World 1
  • 原文地址:https://www.cnblogs.com/xizhenghe/p/7889127.html
Copyright © 2011-2022 走看看