• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle开发之分析函数(Rank, Dense_rank, row_number)

Oracle开发之分析函数(Rank, Dense_rank, row_number)

作者:Paul Lin 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Paul Lin通过本文主要向大家介绍了oracle dense rank,dense rank,dense rank over,rank dense rank,sql dense rank等相关知识,希望本文的分享对您有所帮助

一、使用rownum为记录排名:

在前面一篇《Oracle开发之分析函数简介Over》,我们认识了分析函数的基本应用,现在我们再来考虑下面几个问题:

①对所有客户按订单总额进行排名
②按区域和客户订单总额进行排名
③找出订单总额排名前13位的客户
④找出订单总额最高、最低的客户
⑤找出订单总额排名前25%的客户

按照前面第一篇文章的思路,我们只能做到对各个分组的数据进行统计,如果需要排名的话那么只需要简单地加上rownum不就行了吗?事实情况是否如此想象般简单,我们来实践一下。

【1】测试环境:

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 REGION_ID                                          NUMBER(2)
 CUSTOMER_ID                                  NUMBER(2)
 CUSTOMER_SALES                          NUMBER

【2】测试数据:

 REGION_ID CUSTOMER_ID CUSTOMER_SALES
---------- ----------- --------------
         5           1              151162
        10          29             903383
         6           7              971585
        10          28            986964
         9          21           1020541
         9          22           1036146
         8          16           1068467
         6           8            1141638
         5           3            1161286
         5           5            1169926
         8          19           1174421
         7          12           1182275
         7          11           1190421
         6          10           1196748
         6           9            1208959
        10          30          1216858
         5             2                1224992
           9             24              1224992
           9             23              1224992

           8          18           1253840
         7          15           1255591
         7          13           1310434
        10          27          1322747
         8          20           1413722
         6           6            1788836
        10          26          1808949
         5           4            1878275
         7          14           1929774
         8          17           1

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle开发之分析函数(Rank, Dense_rank, row_number)
  • Oracle排名函数(Rank)实例详解

相关文章

  • 2017-05-11Oracle MERGE INTO的用法示例介绍
  • 2017-05-11Oracle 12c新特性之如何检测有用的多列统计信息详解
  • 2017-05-11Oracle 获取上周一到周末日期的查询sql语句
  • 2017-05-11oracle 存储过程和触发器复制数据
  • 2017-10-09oracle 配合mybatis example分页
  • 2017-05-11详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
  • 2017-05-11ORACLE随机数DBMS_RANDOM包
  • 2017-05-11ORACLE数据库日常维护知识点总结
  • 2017-05-11Oracle数据库表名支持的最大长度是多少
  • 2017-05-11Oracle批量查询、删除、更新使用BULK COLLECT提高效率

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 初学oracle体系结构
    • 自动备份Oracle数据库
    • Redhat 6.2 下 oracle 11g R2的安装详解第1/2页
    • Oracle跨数据库查询并插入实现原理及代码
    • MySQL安全性指南(3)(转)
    • 如何查询占CPU高的oracle进程
    • Oracle 数据库针对表主键列并发导致行级锁简单演示
    • oracle查看被锁的表和被锁的进程以及杀掉这个进程
    • Oracle例外用法实例详解
    • Oracle性能究极优化 上第1/2页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有