如何使用分析函数来进行行和列的转换
使用analysis函数处理从行到列的转换:例如,要查询scott.emp表的用户SAL排序信息,可以使用以下查询:
SQL> SELECT deptno,ename,
2 ROW _ NUMBER()OVER(PARTITION BY deptno ORDER BY sal desc)seq
3 FROM EMP;
德普特诺·伊纳梅·SEQ
-
10金1
10克拉克2
10米勒3
20斯科特1
20福特2
20琼斯3
20亚当斯4
20史密斯5
30布莱克1
30奥尔EN 2
30特纳3
30沃德4
选择了14行。
然后,您可以结合其他函数来转换行和列:
SQL> select deptno,
最大2(decode(seq,1,ename,null))最大,
最大3(decode(seq,2,ename,null))第二,
最大4(decode(seq,3,ename,null))第三
5 from(
6 select deptno,ename,
7 row _ number()over
8(partition by deptno order by sal desc)seq
德特诺最高第二第三
---
10克拉克·米勒国王
20斯科特·福特·琼斯
30布莱克·艾伦·特纳
0条评论