oracle数据库自带函数

终于在做项目时用到了oracle 10g数据库,今天要按照客户要求在选择出的数据集中插入一行显示记录的序号 。在网上搜索半天,终于找到一个函数dense_rank().可以实现我需要的功能,但是对于它的使用我还是摸索了好一会。

 

 

 
 
 
 网站首页站长博客下载中心域名交易站长论坛域名主机免费电邮免费域名中文排行排名查询站长书库书籍教程下载 
 
 
src="http://images.chinaz.com/edu_images/TOP.htm" frameborder="0" width="468" scrolling="no" height="60"> 设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
 
 
学院首页网络编程网页设计图形图象数 据 库服 务 器网络媒体网络安全个人专栏站长CLUB业界新闻信息公告
src="http://images.chinaz.com/edu_images/banner.htm" frameborder="0" width="760" scrolling="no" height="60">
<script src="/JS/FreeJs/Scrollwindow.js" type="text/javascript"></script> <script src="/JS/FreeJs/Dozoom.js" type="text/javascript"></script>
  当前位置:首页 >> 数 据 库 >> Oracle >> 正文
2006年11月21日 18:11:58 星期二
<script type="text/javascript">setInterval("jnkc.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt (new Date().getDay());",1000);</script>
 
 
 公告通知  
<script src="/JS/FreeJs/Top_news.js" type="text/javascript"></script>
   为方便站长查询自己网站的一些相关数据,本站特别推出了站长工具栏目。包括ALEXA数据、中文排名、域名信息、域名到期等的相...
 
 
 
   
 
 
 返回上级列表
 
 
 
   src="http://images.chinaz.com/edu_images/banner2.htm" frameborder="0" width="544" scrolling="no" height="100">  
   
 
 
 
 资料搜索  
 
 相关文章  
 管理作业自动化
备份SQL Server     
还原及回复数据库   
使用者与安全性管理
精通数据库系列之入门-技巧篇5
精通数据库系列之入门-技巧篇3
精通数据库系列之入门-技巧篇2
精通数据库系列之入门-技巧篇1
 Access数据库的存储上限
如何使用Oracle的BFILE 
 
   
 
Oracle分析函数学习笔记2
 
  
[ 来源:中国站长学院 | 作者: | 时间:2005-8-5 22:32:04 | 浏览: <script src="http://edu.chinaz.com/Click.asp?NewsID=058522342555629" type="text/javascript"></script> 153人次 ]
收藏到新浪ViVi  收藏到365KEY  收藏到我摘  字号选择〖       〗/ 双击滚屏 单击停止  
 
 
  环境: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行。


 
 
[发送给好友]  [打印本页]  [关闭窗口]  [返回顶部]   转载请注明来源:http://edu.chinaz.com   
 
   
 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 
   
 栏目编辑: 设计风责任编辑: 设计风,郁郁小蝎 
 原始作者: 录入时间: 2005-8-5 22:32:04 
 信息来源: 中国站长学院投稿信箱: Edu#chinaz.com 
   
 
 
 
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 总编信箱 - 会员投稿
 
 
 
 
 
 
 

<script language="JavaScript" src="http://s3.cnzz.com/stat.php?id=13&web_id=1445&show=pic" charset="gb2312" type="text/javascript"></script> marginwidth="0" marginheight="0" src="http://s3.cnzz.com/stat.htm?id=13&agt=mozilla/4.0%20%28compatible%3B%20msie%206.0%3B%20windows%20nt%205.1%3B%20sv1%3B%20.net%20clr%202.0.50727%3B%20.net%20clr%201.1.4322%3B%20infopath.1%29&r=http%3A//www.google.com/search%3Fhl%3Dzh-CN%26newwindow%3D1%26q%3Doracle+%25E8%2587%25AA%25E5%25B8%25A6%25E5%2587%25BD%25E6%2595%25B0+DENSE_RANK+%26btnG%3D%25E6%2590%259C%25E7%25B4%25A2%26lr%3D&aN=Microsoft%20Internet%20Explorer&lg=zh-cn&OS=Win32&aV=4.0%20%28compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1%3B%20.NET%20CLR%202.0.50727%3B%20.NET%20CLR%201.1.4322%3B%20InfoPath.1%29&ntime=0.01322800 1164101669&repeatip=0&rtime=0&cnzz_eid=12910142-http%3A//www.google.com/search%3Fhl%3Dzh-CN%26newwindow%3D1%26q%3Doracle+%25E8%2587%25AA%25E5%25B8%25A6%25E5%2587%25BD%25E6%2595%25B0+DENSE_RANK+%26btnG%3D%25E6%2590%259C%25E7%25B4%25A2%26lr%3D&showp=1024x768" frameborder="0" width="0" scrolling="no" height="0">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值