如何使用分析函数来进行行和列的转换 |
|
www.nanhushi.com 佚名 不详 |
使用分析函数进行行转列的处理: 比如查询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 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 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 from emp) 10 where seq <=3 group by deptno 11 /DEPTNO HIGHEST SECOND THIRD---------- ---------- ---------- ----------10 KING CLARK MILLER20 SCOTT FORD JONES30 BLAKE ALLEN TURNER
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: SQLserver危险存储过程删除与恢复 下一篇文章: WPS教程--公式编辑--复杂的数学公式 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|