网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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教程,数据库安全,数据库文摘
本月文章推荐
.Linux Shadow-Password-HOWTO.
.在unix下定时执行oracle的sql方法.
.Oracle9i 数据库管理实务讲座(四).
.配置UltraEdit为Oracle PL/SQL代.
.高效实现数据仓库的七个步骤.
.关于Oracle 9i 跳跃式索引扫描(I.
.VB程序如何连接数据库.
.Oracle密码文件的创建、使用和维.
.Oracle数据库为了数据的完整性的.
.linux显卡的配置(1).
.在Oracle9i内向给定的表对象内插.
.Oracle复合数据类型(3).
.Oracle常用技巧和脚本.
.OCP(Oracle Certified Professio.
.ExactPapers Oracle 1Z0-121 200.
.分析诊断进程跟踪文件工具ASS.AW.
.建立与Oracle数据库服务器连接的.
.Oracle 数据库 10g 企业版数据表.
.回滚段表空间数据文件丢失或损坏.
.在DB2中如何實現Oracle的相關功能.

如何使用分析函数进行行列转换

发表日期:2008-2-9


    经常有朋友问到行列转换的问题,留言板上也有这样的提问。

    其实使用分析函数进行处理是很好的方式,翻一下Tom的书,将其中的一个例子收录在这里. 比如查询scott.emp表的用户SAL排序信息,可以使用如下查询:
SQL> SELECT deptno, ename, 2 ROW_NUMBER () OVER (PARTITION BY deptno ORDER BY sal DESC) seq 3 FROM emp; DEPTNO ENAME SEQ ---------- ---------- ---------- 10 KING 1 10 CLARK 2 10 MILLER 3 20 SCOTT 1 20 FORD 2 20 JONES 3 20 ADAMS 4 20 SMITH 5 30 BLAKE 1 30 ALLEN 2 30 TURNER 3 30 WARD 4 30 MARTIN 5 30 JAMES 6 14 rows selected.  再结合其他函数进行一下行列转换: SQL> select deptno,
  2  max(decode(seq,1,ename,null)) highest,
  3  max(decode(seq,2,ename,null)) second,
  4  max(decode(seq,3,ename,null)) third
  5  from (
  6  select deptno,ename,
  7  row_number() over
  8  (partition by deptno order by sal desc) seq
  9  from emp)
10  where seq <=3 group by deptno
11  /

    DEPTNO HIGHEST    SECOND     THIRD
---------- ---------- ---------- ----------
        10 KING       CLARK      MILLER
        20 SCOTT      FORD       JONES
        30 BLAKE      ALLEN      TURNER 
这个结果基本上还是差强人意的。

-The End-
上一篇:在DB2中如何實現Oracle的相關功能(一) 人气:516
下一篇:改变非归档模式的Oracle数据库 人气:853
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐