Oracle筆記之二(DECODE以及常用窗口函數)

 10.利用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;
11.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 betwwen 1 preceding and 1 following) c--差在一歲的數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章