Oracle 11g r2分析函数新特性简介(一)分析函数NTH_VALUE

在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

本文URL地址:http://www.bianceng.cn/database/Oracle/201410/45456.htm

---------- ------------------------------ ------------------------------ ------------------

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开始计算。

时间: 2024-08-30 07:48:12

Oracle 11g r2分析函数新特性简介(一)分析函数NTH_VALUE的相关文章

【RAC】11g R2 RAC新特性之Highly Available IP(HAIP)

[RAC]11g R2 RAC新特性之Highly Available IP(HAIP) 在Oracle 11.2.0.2之前,私网的冗余一般是通过在OS上做网卡绑定(如Bond等)来实现的,从Oracle 11.2.0.2版本开始推出HAIP(Highly Available Virtual IP)技术替代了操作系统层面的网卡绑定技术,功能更强大.更兼容.HAIP通过其提供的独特的169.254.*网段的IP地址实现集群内部链接的高可用及负载均衡.所以,在11.2.0.2或更高版本安装RAC的

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一2.4 Oracle 11g数据库的新特性

2.4 Oracle 11g数据库的新特性 2007年7月12日,Oracle公司在美国纽约宣布推出Oracle 11g数据库,这是迄今为止Oracle公司推出的所有产品中最具创新性和质量最高的软件.Oracle 11g数据库增强了Oracle数据库独特的数据库集群.数据中心自动化和工作量管理功能,可以在安全的.高度可用的.可扩展的.由低成本服务器和存储设备组成的网格上,满足最苛刻的交易处理.数据仓库和内容管理应用. 1.自助式管理和自动化能力 Oracle 11g的各项管理功能可用来帮助企业轻

Oracle 11g r2分析函数新特性简介(三)分析函数LAG和LEAD的增强

在11gr2中,Oracle分析函数的功能进一步增强. 这篇介绍分析函数LAG和LEAD的增强. 11gr2对LAG和LEAD函数进行了增强,添加了IGNORE NULLS的功能. SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database11gEnterprise Edition Rele

Oracle 11g r2分析函数新特性简介(二)分析函数LISTAGG

在11gr2中,Oracle分析函数的功能进一步增强. 这篇介绍新增的分析函数LISTAGG. 11gr2还新增了一个分析函数LISTAGG,这个函数的功能实现字符串的连接 在11gr2中,Oracle终于实现了这个分析函数: SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database11g

Oracle 11g R2 RAC高可用连接特性 – SCAN详解2

SCAN概念 先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库.SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现.其中DNS大家都很熟悉,这里不多说.GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和

Oracle 11g R2 RAC高可用连接特性 – SCAN详解1

昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是一小部分. Oracle从11g开始推出SCAN特性可不是我解答那样简单的,SCAN特性在Oracle RAC高可用连接里占据着非常重要的地位,也是以后的重点推进方向. 昨天处理完问题比较晚自己又比较累,所以没有整理出SCAN特性相关资料,今天就抽出点时间把SCAN高可用连接特性介绍出去. 说在前头:文章中核心内容来自官方,当然我也参考了部分前辈们整理的资料,再加以自己的理解和测试整理出

Oracle 10G First Release的新特性简介(下)

oracle Oracle 10G First Release的新特性简介(下) By Fenng 2003-07-10 注:近日Oracle已经正式宣布该版本的Oracle命名为10G,其中的G为Grid之意.特此更正. 高可用性的加强 1.缩短应用和数据库升级的宕机时间 通过使用standby数据库.允许在不同版本的standby和产品数据库间切换.现有的联机重定义功能能够支持一步克隆所有相关的数据库对象. 2.回闪(Flashback)任何错误 该版本的Oracle也扩展了Flashbac

Oracle 10G First Release的新特性简介(上)

oracle Oracle 10G First Release的新特性简介(上)   By Fenng 2003-6-8   Oracle(www.oracle.com)公司早已经宣称,Oracle 9i数据库只是一个过渡性的产品,真正的技术革新很可能在下一版,也就是通常说的10i(内部可能的版本号是2003,以下简称10i,估计在正式发行的时候会有一个新的名字)中体现出来.很多技术人员可能都会比较关心Oracle 10i究竟能有哪些新功能,是否能提供一些激动人心的新特性?我们在这里对Oracl

Oracle 11g R2 手动建库(create database manually)

      手动创建数据库是DBA们经常遇到的情形,因为有些情况下无法提供GUI环境.实际上手动建库,只要设置好了相关的参数或值,也是非常方便的.本文基于Oracle 11g首先描述了手动建库的大致步骤并给出示例演示.最后提供了一个shell脚本直接执行来实现手动建库.在执行前该脚本可根据你的路径进行适当的修改.   一.手动建库大致步骤    设置环境变量.bash_profile    创建参数文件(位置:$ORACLE_HOME/dbs)    创建目录结构    执行建库脚本   二.手