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及常用窗口函数的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】