分析函数例子

本贴最后更新于 2403 天前,其中的信息可能已经时移世改
SELECT EMP.ENAME 姓名,
       EMP.SAL 工资,
       EMP.DEPTNO 部门编号,
       ROW_NUMBER() OVER(PARTITION BY EMP.DEPTNO ORDER BY EMP.SAL DESC) 工资在部门内排行,
       NTILE(2) OVER(ORDER BY EMP.SAL DESC) 按工资二等分,
       AVG(EMP.SAL) OVER(PARTITION BY EMP.DEPTNO) 部门薪水均值,
       SUM(EMP.SAL) OVER(PARTITION BY EMP.DEPTNO) 部门薪水总额,
       COUNT(DISTINCT EMPNO) OVER(PARTITION BY EMP.DEPTNO) 部门有几个员工,
       DENSE_RANK() OVER(PARTITION BY EMP.DEPTNO ORDER BY EMP.SAL DESC) 员工在部门内薪水排行,
       DENSE_RANK() OVER(ORDER BY EMP.SAL DESC) 员工在公司内薪水排行,
       MIN(EMP.SAL) OVER(PARTITION BY EMP.DEPTNO) 部门的最低薪水,
       MIN(EMP.SAL) KEEP(DENSE_RANK FIRST ORDER BY EMP.SAL) OVER(PARTITION BY EMP.DEPTNO) 部门的最低薪水,
       FIRST_VALUE(EMP.SAL) OVER(PARTITION BY EMP.DEPTNO ORDER BY EMP.SAL) 部门的最低薪水,
       MAX(EMP.SAL) OVER(PARTITION BY EMP.DEPTNO) 部门的最高薪水,
       MAX(EMP.SAL) KEEP(DENSE_RANK LAST ORDER BY EMP.SAL) OVER(PARTITION BY EMP.DEPTNO) 部门的最高薪水,
       FIRST_VALUE(EMP.SAL) OVER(PARTITION BY EMP.DEPTNO ORDER BY EMP.SAL DESC) 部门的最高薪水,
       LAG(EMP.ENAME, 1, '00') OVER(ORDER BY EMP.SAL DESC) 薪水在自己前一位的人,
       LEAD(EMP.ENAME, 1, '00') OVER(ORDER BY EMP.SAL DESC) 薪水在自己后一位的人
  FROM SCOTT.EMP
 ORDER BY EMP.SAL DESC;

结果

|-
| 姓名 | 工资 | 部门编号 | 工资在部门内排行 | 按工资二等分 | 部门薪水均值 | 部门薪水总额 | 部门有几个员工 | 员工在部门内薪水排行 | 员工在公司内薪水排行 | 部门的最低薪水 | 部门的最低薪水 | 部门的最低薪水 | 部门的最高薪水 | 部门的最高薪水 | 部门的最高薪水 | 薪水在自己前一位的人 | 薪水在自己后一位的人 |
| KING | 5000.00 | 10 | 1 | 1 | 2916.666667 | 8750 | 3 | 1 | 1 | 1300 | 1300 | 1300 | 5000 | 5000 | 5000 | 00 | FORD |
| FORD | 3000.00 | 20 | 2 | 1 | 2175 | 10875 | 5 | 1 | 2 | 800 | 800 | 800 | 3000 | 3000 | 3000 | KING | SCOTT |
| SCOTT | 3000.00 | 20 | 1 | 1 | 2175 | 10875 | 5 | 1 | 2 | 800 | 800 | 800 | 3000 | 3000 | 3000 | FORD | JONES |
| JONES | 2975.00 | 20 | 3 | 1 | 2175 | 10875 | 5 | 2 | 3 | 800 | 800 | 800 | 3000 | 3000 | 3000 | SCOTT | BLAKE |
| BLAKE | 2850.00 | 30 | 1 | 1 | 1566.666667 | 9400 | 6 | 1 | 4 | 950 | 950 | 950 | 2850 | 2850 | 2850 | JONES | CLARK |
| CLARK | 2450.00 | 10 | 2 | 1 | 2916.666667 | 8750 | 3 | 2 | 5 | 1300 | 1300 | 1300 | 5000 | 5000 | 5000 | BLAKE | ALLEN |
| ALLEN | 1600.00 | 30 | 2 | 1 | 1566.666667 | 9400 | 6 | 2 | 6 | 950 | 950 | 950 | 2850 | 2850 | 2850 | CLARK | TURNER |
| TURNER | 1500.00 | 30 | 3 | 2 | 1566.666667 | 9400 | 6 | 3 | 7 | 950 | 950 | 950 | 2850 | 2850 | 2850 | ALLEN | MILLER |
| MILLER | 1300.00 | 10 | 3 | 2 | 2916.666667 | 8750 | 3 | 3 | 8 | 1300 | 1300 | 1300 | 5000 | 5000 | 5000 | TURNER | WARD |
| WARD | 1250.00 | 30 | 5 | 2 | 1566.666667 | 9400 | 6 | 4 | 9 | 950 | 950 | 950 | 2850 | 2850 | 2850 | MILLER | MARTIN |
| MARTIN | 1250.00 | 30 | 4 | 2 | 1566.666667 | 9400 | 6 | 4 | 9 | 950 | 950 | 950 | 2850 | 2850 | 2850 | WARD | ADAMS |
| ADAMS | 1100.00 | 20 | 4 | 2 | 2175 | 10875 | 5 | 3 | 10 | 800 | 800 | 800 | 3000 | 3000 | 3000 | MARTIN | JAMES |
| JAMES | 950.00 | 30 | 6 | 2 | 1566.666667 | 9400 | 6 | 5 | 11 | 950 | 950 | 950 | 2850 | 2850 | 2850 | ADAMS | SMITH |
| SMITH | 800.00 | 20 | 5 | 2 | 2175 | 10875 | 5 | 4 | 12 | 800 | 800 | 800 | 3000 | 3000 | 3000 | JAMES | 00 |

  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • emp
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    313 引用 • 1667 回帖 • 1 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 6 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 345 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 399 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    22 引用 • 31 回帖 • 3 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 545 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 405 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 7 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    173 引用 • 990 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 344 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 597 回帖
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖 • 2 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 2 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 54 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 407 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 549 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    275 引用 • 682 回帖
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 3 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 685 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1383 回帖 • 375 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    476 引用 • 899 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖