Oracle數據庫用DECODE實現行列轉換以及常用窗口函數的相關知識是本文我們主要要介紹的內容,希望本次的介紹能夠對您有所收獲!
利用DECODE進行行列轉換
代碼如下:
- select '工資' 部門,
- sum(decode(k.deptno,'10',k.g)) A
- ,sum(decode(k.deptno,'20',k.g)) B
- ,sum(decode(k.deptno,'30',k.g)) C
- ,sum(decode(k.deptno,'40',k.g)) D
- from (select sum(e.sal) g,e.deptno from emp e
- left join dept d on d.deptno=e.empno
- group by e.deptno) k;
Oracle 窗口函數
- rank() over(order by emp_age)
- dense_rank() over(order by emp_age)
- row_number() over(order by emp_age)
- avg(age) over(partition by position) avg
- sum(age) over(order by age rows between 1 preceding and 1 following)--獲取當前記錄的前一行以及後一行
- count(1) over(order by age range between 1 preceding and 1 following) c--差在一歲的數據。
關於Oracle數據庫DECODE及常用窗口函數的相關知識就介紹到這裡了,希望本次的介紹能夠對您有所收獲!