如何使用分析函数进行行列转换
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 14:41:13
![如何使用分析函数进行行列转换](/uploads/image/z/13880599-7-9.jpg?t=%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%88%86%E6%9E%90%E5%87%BD%E6%95%B0%E8%BF%9B%E8%A1%8C%E8%A1%8C%E5%88%97%E8%BD%AC%E6%8D%A2)
如何使用分析函数进行行列转换
如何使用分析函数进行行列转换
如何使用分析函数进行行列转换
经常有朋友问到行列转换的问题,留言板上也有这样的提问. 其实使用分析函数进行处理是很好的方式,翻一下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