Oracle分析函数学习笔记1

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

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

【 tulaoshi.com - 编程语言 】

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

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

1.row_number() 的使用

原表信息:

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

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


已选择14行。

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


使用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;

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

    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仅仅是行数、记录条数的感念。

来源:http://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.适用范围: 排名开窗函数和聚合开窗函...
捕获数学函数异常 作者: 江汉石油学院计算机系 周云才 下载本文配套源代码 假如我们要用一个数学函数,比如反正弦函数asin(x),如果变元x的值是由用户提供或某个中间结果,则在调用时必须判断其取值范围是合理,是否满|x|<=1?即 if(fabs(x)<=1) y=asin(x); else y=… 对...

经验教程

915

收藏

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