网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库集中复制方法浅议.
.如何恢复数据库的内容.
.回滚段表空间数据文件丢失或损坏.
.学会使用Oracle9i带有tablespace.
.保“库”之路:Oracle数据库性能.
.各种索引的结构分析 BTree索引与.
.浅议Oracle中的进制转换.
.用GET_DDL函数来拷贝DLL句法.
.ORA-600 [2103]错误解决过程.
.不编译完全配置RedHat Linux7.1.
.Oracle 9i 约束条件.
.从Excel电子表格生成外部表.
.Linux拨号上网故障诊断.
.如何在你的Linux机器上安装运行O.
.ORACLE数据库常见问题诊断方法 -.
.详细介绍 Oracle 9i 的各个技术特.
.ORACLE常用的SQL语法和数据对象.
.关于使用Oracle9i时,无法找到客.
.绝对经典的 Oracle 几个使用技巧.
.Oracle企业管理器10g第三版上市.

Oracle分析函数学习笔记2

发表日期:2008-2-9


 环境:windows 2000 server + Oracle8.1.7 + sql*plus 目的:以oracle自带的scott模式为测试环境,主要通过试验体会分析函数的用法。 2.rank()、dense_rank() 的使用
原表信息: 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行。
使用rank()查出各部门薪水前三名的员工姓名、薪水。
SQL> select * from (
  2  select deptno,rank() over(partition by deptno order by sal desc) rk,ename,sal
  3  from emp
  4  )
  5  where rk<=3
  6  /
    DEPTNO         RK ENAME             SAL
---------- ---------- ---------- ----------
        10          1 KING             5000
                    2 CLARK            2450
                    3 MILLER           1300         20          1 SCOTT            3000
                    1 FORD             3000
                    3 JONES            2975         30          1 BLAKE            2850
                    2 ALLEN            1600
                    3 TURNER           1500
已选择9行。 使用dense_rank()查出各部门薪水前三名的员工姓名、薪水。
SQL> select * from (
  2  select deptno,dense_rank() over(partition by deptno order by sal desc) drk,ename,sal
  3  from emp
  4  )
  5  where drk<=3
  6  /     DEPTNO        DRK ENAME             SAL
---------- ---------- ---------- ----------
        10          1 KING             5000
                    2 CLARK            2450
                    3 MILLER           1300
        20          1 SCOTT            3000
                    1 FORD             3000
                    2 JONES            2975
                    3 ADAMS            1100         30          1 BLAKE            2850
                    2 ALLEN            1600
                    3 TURNER           1500
已选择10行。
上一篇:Oracle sql 语句分析 人气:693
下一篇:较好的重新启动数据库的步骤 人气:480
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐