Oracle分析函数学习笔记1

2016-02-19 19:49 4 1 收藏

下面是个简单易学的Oracle分析函数学习笔记1教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

环境:windows 2000 server + Oracle8.1.7 + sql*plus

目的:以oracle自带的scott模式为测试环境,主要通过试验体会分析函数的用法。

1.row_number() 的使用

原表信息:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

SQL break on deptno skip 1  -- 为效果更明显,把不同部门的数据隔段显示。
SQL select deptno,ename,sal
  2  from emp
  3  order by deptno,sal desc;

    DEPTNO ENAME             SAL
---------- ---------- ----------
        10 KING             5000
           CLARK            2450
           MILLER           1300

        20 SCOTT            3000
           FORD             3000
           JONES            2975
           ADAMS            1100
           SMITH             800

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

        30 BLAKE            2850
           ALLEN            1600
           TURNER           1500
           WARD             1250
           MARTIN           1250
           JAMES             950


已选择14行。


使用row_number()查出各部门薪水最高的三个员工姓名、薪水,多于三个的只取三个。

SQL select * from (
  2  select deptno,row_number() over(partition by deptno order by sal desc) rw,ename,sal
  3  from emp
  4  )
  5  where rw=3;

    DEPTNO         RW ENAME             SAL
---------- ---------- ---------- ----------
        10          1 KING             5000
                    2 CLARK            2450
                    3 MILLER           1300

        20          1 SCOTT            3000
                    2 FORD             3000
                    3 JONES            2975

        30          1 BLAKE            2850
                    2 ALLEN            1600
                    3 TURNER           1500


已选择9行。

体会:row_number() 返回的主要是“行”的信息,并没有按照sal排名,如
        20          1 SCOTT            3000
                    2 FORD             3000
scott与ford薪水一样多,ford前面的2仅仅是行数、记录条数的感念。

来源:https://www.tulaoshi.com/n/20160219/1621881.html

延伸阅读
标签: Web开发
简体中文码:GB2312 繁体中文码:BIG5 西欧字符: UTF-8 1、一般实体 我们前面说到的那个信件署名就是一般实体。定义一般实体的格式如下:  !ENTITY 实体名 "文本内容"〉 关于刚才的信件署名的实体定义如下: !ENTITY lettersign "张三 某网络公...
标签: Web开发
先看最入门的例子,在记事本输入如下内容,再存为 001.html。 这是第一个JavaScript例子 html head Script Language ="JavaScript" // JavaScript Appears here. alert("这是第一个JavaScript例子!"); /Script /Head /Html 有如下几点要说明: ① 在本例中,JavaScript代码出现在 head /head中,并由标识 Script Language="JavaScript".../S...
正在看的ORACLE教程是:oracle 函数。PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:  单行函数  组函数  本文将讨论如何利用单行函数以及使用规则。 SQL中的单行函数 ...
1.简介: SQL Server 2005中的窗口函数帮助你迅速查看不同级别的聚合,通过它可以非常方便地累计总数、移动平均值、以及执行其它计算。 窗口函数功能非常强大,使用起来也十分容易。可以使用这个技巧立即得到大量统计值。 窗口是用户指定的一组行。 开窗函数计算从窗口派生的结果集中各行的值。 2.适用范围: 排名开窗函数和聚合开窗函...
标签: Web开发
1.1    写出一个 servelet 程序 1.2    写出一个 Jsp程序 1.3    编译一个 Servlet 程序 1.4    打包一个Servlets 和 Jsps程序 1.5    构建一个部署描述器     1.1    写出一个 servelet 程序   ...

经验教程

277

收藏

54
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部