作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 12:05:01
如何使用分析函数进行行列转换
经常有朋友问到行列转换的问题,留言板上也有这样的提问. 其实使用分析函数进行处理是很好的方式,翻一下Tom的书,将其中的一个例子收录在这里. 比如查询scott.emp表的用户SAL排序信息,可以使用如下查询:SQL SELECT deptno, ename,2 ROW_NUMBER () OVER (PARTITION BY deptno ORDER BY sal DESC) seq3 FROM emp;DEPTNO ENAME SEQ---------- ---------- ----------10 KING 110 CLARK 210 MILLER 320 SCOTT 120 FORD 220 JONES 320 ADAMS 420 SMITH 530 BLAKE 130 ALLEN 230 TURNER 330 WARD 430 MARTIN 530 JAMES 614 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? where seq