FIRST_VALUE 功能描述:返回组中数据窗口的第一个值。有些类似于SQL Server中的first(),但用法完全不一样,而功能也强大一些。
SQL> create table EMP(
id number,
name varchar2(20),
age number,
POS VARCHAR2(20)
);
SQL> alter table EMP
add constraint emp_PK_id primary key (ID);
...
SQL> SELECT * FROM EMP;
ID NAME AGE POS
1 A 25 PM
2 B 20 PM
3 C 30 PL
4 D 35 PL
5 E 36 PL
需求:求出每种职位的平均年龄,同时列出每种职位的年龄最大和最小者。
SQL> SELECT DISTINCT
FIRST_VALUE(NAME) OVER
(PARTITION BY POS ORDER BY AGE DESC)
AS MAXAGE_NAME
,FIRST_VALUE(NAME) OVER
(PARTITION BY POS ORDER BY AGE ASC)
AS MINAGE_NAME
,AVG(AGE) OVER
(PARTITION BY POS)
AS AVG_AGE
,POS
FROM EMP
ORDER BY POS
MAXAGE_NAME MINAGE_NAME AVG_AGE POS
E C 33.66666667 PL
A B 22.5 PM
SQL> create table EMP(
id number,
name varchar2(20),
age number,
POS VARCHAR2(20)
);
SQL> alter table EMP
add constraint emp_PK_id primary key (ID);
...
SQL> SELECT * FROM EMP;
ID NAME AGE POS
1 A 25 PM
2 B 20 PM
3 C 30 PL
4 D 35 PL
5 E 36 PL
需求:求出每种职位的平均年龄,同时列出每种职位的年龄最大和最小者。
SQL> SELECT DISTINCT
FIRST_VALUE(NAME) OVER
(PARTITION BY POS ORDER BY AGE DESC)
AS MAXAGE_NAME
,FIRST_VALUE(NAME) OVER
(PARTITION BY POS ORDER BY AGE ASC)
AS MINAGE_NAME
,AVG(AGE) OVER
(PARTITION BY POS)
AS AVG_AGE
,POS
FROM EMP
ORDER BY POS
MAXAGE_NAME MINAGE_NAME AVG_AGE POS
E C 33.66666667 PL
A B 22.5 PM
发表评论
-
oracle定时删除表空间的数据并释放表空间
2009-10-13 16:53 2533这两天我一个朋友问我 ... -
oracle定时任务(dbms_job)
2009-10-13 16:50 2256今天总结下oracle的任务队列管理器(job queue ) ... -
Decode函数的语法
2009-10-13 16:47 930Decode函数的语法结构如下: decode (expre ... -
Oracle 中truncate与delete的区别
2009-10-13 16:27 987Oracle 中truncate与delete的区别 收藏 ... -
数据库---存储过程总结
2009-10-13 16:20 910定义: ... -
oracle执行计划的理解
2009-10-13 16:12 697执行计划的理解 计信息 ------------------ ... -
oracle定时添加或删除分区表的分区
2009-10-13 16:11 2026这几天,根据业务的需求和性能的考虑,需要定时删除历史数据,表里 ... -
Oracle常用数据字典表
2009-09-16 09:00 1069查看当前用户的缺省表空间 SQL>select us ... -
关于SQL中的“\”的转义
2009-05-30 08:23 881select ename from myemp where e ... -
Oracle存储过程学习(2)
2009-05-11 08:05 1118存储过程创建语法: create or rep ... -
ora-12154 TNS:"无法处理服务名"的一个解决方法
2009-04-13 15:48 1420很怪异的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机 ... -
触发器
2009-02-10 20:27 976触发器 触发器是指被隐含执行的存储过程,当发生特定事件(例如修 ... -
Oracle 包
2009-02-06 20:08 1152包 包用于逻辑组合相关的PL/SQL类型、项、子程序,它由包 ... -
函数的纯度级别以及使用
2009-02-05 16:09 896函数的纯度级别以及使用 - 定义由函数读取或修改的数据种类。 ... -
管理存储过程和函数
2009-02-05 10:47 704管理存储过程和函数 1.列出当前用户的子程序 SQL>c ... -
Oracle 自定义函数
2009-02-04 14:49 3582函数 函数用于返回特定数据。执行时得找一个变量接收函数的返回值 ... -
Oracle存储过程
2009-02-04 11:05 1010Oracle存储过程 存储过程不仅可以简化客户端应用程序的开发 ... -
PL/SQL DEVELOPER 基本用法详解
2009-02-03 10:37 2334一.编辑表数据(浏览表 ... -
游标(二)
2009-02-02 16:14 788游标FOR循环 游标FOR循环是游标使用的最简单的方式,当使用 ... -
游标(一)
2009-02-01 15:28 775使用游标 当在pl/sql块中 ...
相关推荐
Oracle 高级查询之分析函数部分--first_value,last_value
详解Oracle分析函数,主用于OLAP,以实例讲解分析函数. 如: 排序用Rank, Dense_rank, row_number ...5.窗口函数进阶-first_value/last_value 6.窗口函数进阶-比较相邻记录 1.报表函数简介 2.RATIO_TO_REPORT函数
Oracle分析函数——函数列表 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算一个组和数据窗口内表达式的...
1、oracle分析函数 中文: 主要含: rank() 和 dense_rank() first_value()和last_value() row_number() LAG() range开窗函数 2、oracle分析函数 英文: 比较详细
聚合函数可以是:sum,count,avg,max,min,first_value,last_value,rank,dense_rank ,row_number, ratio_to_report Over不能单独使用,用来制定数据窗口大小 Partition by表示分类数据集合,在此集合上的运算 Order by...
Oracle P/L SQL实现发送Email、浏览网页等网络操作功能 Oracle P/L SQL实现发送Email、浏览网页等网络操作功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 --.使用聚合函数实现 多行...
本文主要介绍Oracle窗口函数的用法,讲解全统计、滚动统计(累积/均值)、根据时间范围统计、first_value/last_value、比较相邻记录具体的使用方法,需要的朋友可以参考下。
8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用Last_value来计算最小值 207 8.7 其他分析函数 207 8.7.1 Nth_value(11gR2) 207 8.7.2 Rank 209 8.7.3 Dense...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
//构造函数实例化接收一个pagetype和PaginationBean对象 public Page(String pagetype, PaginationBean pagination) { this.pagetype = pagetype; this.pagination = pagination; } /** * * */ ...
例:v_FirstName s_emp.first_name%TYPE; 3. RECORD类型 TYPE t_emp IS RECORD( /*其中TYPE,IS,RECORD为关键字,record_name为变量名称*/ field1 type [NOT NULL][:=expr1], /*每个等价的成员间用逗号分隔*/...
你也可以用define函数定义你自己的常量,比如define("CONSTANT","value")。 2.6 运算符 PHP具有C,C++和Java中的通常见到的运算符。这些运算符的优先权也是一致的。赋值同样使用"="。 算术和字符 以下只有一种...
用 rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… ) 例:CREATE TABLE tab01(name varchar(50),datetime default ...
FIRST NAME179 空值属性180 唯一属性181 表的存储与尺寸的调整183 用一个已经存在的表来建表184 ALTER TABLE 语句185 DROP TABLE 语句186 DROP DATABASE语句187 总结188 问与答188 校练场189 练习190 第10 天 创建...
一、增加了Sequence对象。这个对于Oracle用户来说是最熟悉不过的数据库对象了,现在在SQL Server中终于也...SELECT NEXT VALUE FOR [SQ_1] AS FirstUse; 如果要插入一个值,那么就是: 代码如下:INSERT INTO t1(c1,c2
日期/时间函数......................................................................................................... 66 ADD_MONTHS.......................................................................