zoukankan      html  css  js  c++  java
  • Oracle rownum的理解

    --rownum
    select * from emp;
    select rownum,e.* from emp e;
    
    select rownum,e.* from emp e where rownum < 5 --显示前4条
    select rownum,e.* from emp e where rownum <= 5 --显示前5条
    select rownum,e.* from emp e where rownum = 5  --找不到记录 因为编号为5重新从1开始
    select rownum,e.* from emp e where rownum > 5 --找不到记录
    select rownum,e.* from emp e where rownum >= 5 --找不到记录
    
    select rownum,e.* from emp e order by sal desc; -- order by ,rownum失效 -->解决方案:用子查询
    --分页 取编号6-10得记录
    select rownum,e.* from emp e where rownum <= 10
    minus
    select rownum,e.* from emp e where rownum <= 5
    --分页(带排序) 取编号6-10的记录 方法1:
    select rownum,t.* from(  
    select e.* from emp e order by sal
    ) t where rownum <=10
    minus
    select rownum,t.* from(
    select e.* from emp e order by sal) t where rownum <= 5
    --分页(带排序)取编号6-10的记录 方法2:
    select e.* from emp e order by sal  --1.以工资排序 获取所有记录
    
    select rownum,t.* from (
    select e.* from emp e order by sal) t where rownum <=10  --2.获取前10条记录
    
    select t2.* from(
    select rownum rn,t.* from (
    select e.* from emp e order by sal) t where rownum <=10  --3.从前10条记录中获取6-10的记录
    )t2 where rn > 5
  • 相关阅读:
    前端工程精粹(一):静态资源版本更新与缓存
    METADATATYPE的使用,MVC的MODEL层数据验证
    Android开发之Intent.Action
    Android应用开发SharedPreferences存储数据的使用方法
    php开发环境搭建 win 7 + apache + mysql
    windows 2003 导出excel iis 配置记录
    fineui demo地址
    Fourth
    Third
    Second
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6894888.html
Copyright © 2011-2022 走看看