分析函数再学习-统计函数

学习资料 http://yangkai.iteye.com/blog/754447
求总计可以用到的函数rollup
select t.deptno,sum(t.sal) from emp t group by rollup(t.deptno)

求百分比
select e.empno,e.ename,e.deptno,e.sal,ratio_to_report(e.sal)over(partition by e.deptno) from emp e
order by e.deptno

取当前行之前n行或之后n行数据的函数
LAG  (value_expression [,offset] [,default]) OVER ([query_partition_clase] order_by_clause)
LEAD (value_expression [,offset] [,default]) OVER ([query_partition_clase] order_by_clause)
value_expression:可以是一个字段或一个内建函数。
offset是正整数,默认为1,指往前或往后几点记录.因组内第一个条记录没有之前的行,最后一行没有之后的行,
default就是用于处理这样的信息,默认为空.
select e.*,lag(e.ename,3,'xx')over(order by e.ename)   from emp e

select e.*,lead(e.ename,3,'xx')over(order by e.ename)   from emp e

你可能感兴趣的:(java,Blog)