Oracle 11g r2分析函数新特性(一)
2013-05-17 09:12
609 查看
在11gr2中,Oracle分析函数的功能进一步增强。
这篇介绍新增的分析函数NTH_VALUE。
以前版本的分析函数,提供了FIRST_VALUE和LAST_VALUE的功能,而11gr2中,Oracle增加了一个NTH_VALUE的功能,这个功能包含了FIRST_VALUE和LAST_VALUE的功能,还可以取任意的正数或倒数的没个记录。
简单看一个这个分析函数的用法:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database11gEnterprise Edition Release11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> create table t (id, name)
2 as select rownum, tablespace_name
3 from dba_tablespaces;
表已创建。
SQL> select * from t;
ID NAME
---------- ------------------------------
1 SYSTEM
2 SYSAUX
3 UNDOTBS1
4 TEMP
5 USERS
6 YANGTK
已选择6行。
SQL> select id,
2 name,
3 first_value(name) over(order by id) f_name,
4 last_value(name) over(order by id) l_name
5 from t;
ID NAME F_NAME L_NAME
---------- ------------------------------ ------------------------------ ------------------
1 SYSTEM SYSTEM SYSTEM
2 SYSAUX SYSTEM SYSAUX
3 UNDOTBS1 SYSTEM UNDOTBS1
4 TEMP SYSTEM TEMP
5 USERS SYSTEM USERS
6 YANGTK SYSTEM YANGTK
已选择6行。
SQL> select id,
2 name,
3 nth_value(name, 2) over(order by id) f_2_name,
4 nth_value(name, 2) from last over(order by id) l_2_name
5 from t;
ID NAME F_2_NAME L_2_NAME
---------- ------------------------------ ------------------------------ ------------------
1 SYSTEM
2 SYSAUX SYSAUX SYSTEM
3 UNDOTBS1 SYSAUX SYSAUX
4 TEMP SYSAUX UNDOTBS1
5 USERS SYSAUX TEMP
6 YANGTK SYSAUX USERS
已选择6行。
其中NTH_VALUE中的第二个参数是指这个函数取排名第几的记录,而FROM FIRST或FROM LAST指明这个排名第几,是从FIRST开始计算,还是从LAST开始计算。
oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
这篇介绍新增的分析函数NTH_VALUE。
以前版本的分析函数,提供了FIRST_VALUE和LAST_VALUE的功能,而11gr2中,Oracle增加了一个NTH_VALUE的功能,这个功能包含了FIRST_VALUE和LAST_VALUE的功能,还可以取任意的正数或倒数的没个记录。
简单看一个这个分析函数的用法:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database11gEnterprise Edition Release11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> create table t (id, name)
2 as select rownum, tablespace_name
3 from dba_tablespaces;
表已创建。
SQL> select * from t;
ID NAME
---------- ------------------------------
1 SYSTEM
2 SYSAUX
3 UNDOTBS1
4 TEMP
5 USERS
6 YANGTK
已选择6行。
SQL> select id,
2 name,
3 first_value(name) over(order by id) f_name,
4 last_value(name) over(order by id) l_name
5 from t;
ID NAME F_NAME L_NAME
---------- ------------------------------ ------------------------------ ------------------
1 SYSTEM SYSTEM SYSTEM
2 SYSAUX SYSTEM SYSAUX
3 UNDOTBS1 SYSTEM UNDOTBS1
4 TEMP SYSTEM TEMP
5 USERS SYSTEM USERS
6 YANGTK SYSTEM YANGTK
已选择6行。
SQL> select id,
2 name,
3 nth_value(name, 2) over(order by id) f_2_name,
4 nth_value(name, 2) from last over(order by id) l_2_name
5 from t;
ID NAME F_2_NAME L_2_NAME
---------- ------------------------------ ------------------------------ ------------------
1 SYSTEM
2 SYSAUX SYSAUX SYSTEM
3 UNDOTBS1 SYSAUX SYSAUX
4 TEMP SYSAUX UNDOTBS1
5 USERS SYSAUX TEMP
6 YANGTK SYSAUX USERS
已选择6行。
其中NTH_VALUE中的第二个参数是指这个函数取排名第几的记录,而FROM FIRST或FROM LAST指明这个排名第几,是从FIRST开始计算,还是从LAST开始计算。
oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
相关文章推荐
- Oracle 11g r2分析函数新特性(二)分析函数LISTAGG
- Oracle 11g r2分析函数新特性(三)分析函数LAG和LEAD的增强
- Oracle 11g r2分析函数新特性(二)
- Oracle 11g r2分析函数新特性(三)
- Oracle 11g r2分析函数新特性(一)分析函数NTH_VALUE
- 转 -- Oracle 11g R2 RAC高可用连接特性 – SCAN详解
- Oracle 分析函数 开窗函数 11g
- [Oracle 11g r2(11.2.0.4.0)]案例分析8-本地节点hang 住导致的集群重新配置
- 关于Oracle 11gR2中的Database Smart Flash Cache特性以及该特性所适用的操作系统
- Oracle 11g R2令人赞赏的五大新特性
- Oracle 11g R2 RAC高可用连接特性 – SCAN详解
- [Oracle 11g r2(11.2.0.4.0)]案例分析3-由于同一个子网中存在同名集群导致的gpnp 无法启动
- Oracle Real Application Clusters 11g R2 新特性之SCAN -- 基础篇
- Oracle 11g R2文档泄露的几点新特性
- Oracle 11g R2 RAC 高可用连接特性
- [Oracle 11g r2(11.2.0.4.0)]案例分析6-丢失磁盘心跳导致的集群重新配置
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
- ORACLE 11g R2 RAC群集堆栈的关闭过程分析
- [Oracle 11g r2(11.2.0.4.0)]案例分析7-丢失本地心跳导致的集群重新配置
- Oracle 11g学习笔记--分析函数