Oracle 不常用函数

来源:互联网 发布:V号黑豹数据 编辑:程序博客网 时间:2024/05/24 07:23

1,wmsys.wm_contact

 

2,over()

开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,举例如下:
over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数
over(partition by deptno)按照部门分区
over(order by salary range between 50 preceding and 150 following)
每行对应的数据窗口是之前行幅度值不超过50,之后行幅度值不超过150
over(order by salary rows between 50 preceding and 150 following)
每行对应的数据窗口是之前50行,之后150行
over(order by salary rows between unbounded preceding and unbounded following)
每行对应的数据窗口是从第一行到最后一行,等效:
over(order by salary range between unbounded preceding and unbounded following)

 

3,start with ...contact by

eg:

select *
  from t_cc_l2_organ
 start with orgn_level_cd = '02'
        and organ_party_id = 10245
connect by prior organ_party_id = parent_organ_id ;

 

4,cube,rollup 分组:

eg:

select grouping_id(owner, index_type), owner, index_type, count(*)
  from test
 group by cube(owner, index_type);

 

5,rank(),row_number(),deep_rank() 

 

6,as ...with

eg:  as table_name with ( select * from t_cc_l2_employee )

        select * from table_name ;
 

7,leg,lead:

lag(expression,<offset>,<default>)  函数可以访问组内当前行之前的行,
lead(expression,<offset>,<default>) 函数则正相反,可以反问组内当前行之后的行.
其中,offset是正整数,默认为1.因组内第一个条记录没有之前的行,最后一行没有之后的行,它表示要取列第N行之前或者之后的值,default就是用于处理这样的信息,默认为空.它用于当之前或者之后第N行不存在时的值。

 

原创粉丝点击