`
tjmzgn
  • 浏览: 159710 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle特别函数---First_Value

阅读更多
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
分享到:
评论

相关推荐

    Oracle 高级查询之分析函数部分--first_value,last_value

    ### Oracle分析函数:`FIRST_VALUE()`和`LAST_VALUE()` #### `FIRST_VALUE()`函数 `FIRST_VALUE()`函数返回在一个窗口函数中定义的顺序下,指定列的首个值。这通常用于返回一个分组内按照某种顺序(如按时间、数值...

    Oracle分析函数

    FIRST_VALUE 函数用于获取一个组的第一个值。 3.9 LAG 函数 LAG 函数用于访问之前的行。 3.10 LAST_VALUE 函数 LAST_VALUE 函数用于获取一个组的最后一个值。 3.11 LEAD 函数 LEAD 函数用于访问之后的行。 ...

    Oracle_详解分析函数

    3. **First/Last排名查询**:使用`FIRST_VALUE`或`LAST_VALUE`函数获取第一行或最后一行的值。 4. **按层次查询**:通过嵌套等级函数来实现多层次的排名和分组。 #### 五、窗口函数详解 窗口函数能够对数据集的...

    Oracle_分析函数

    - 使用FIRST_VALUE函数获取窗口内某个字段的特定值。 Oracle分析函数是非常强大的工具,它们在处理报表、大数据分析、复杂查询等方面提供了极大的灵活性和能力。通过使用分析函数,可以轻松实现复杂的计算,而不必...

    ORACLE_分析函数大全

    除了这些,Oracle分析函数还包括RANK、DENSE_RANK、ROW_NUMBER等排名函数,LEAD和LAG用于获取当前行之前或之后的值,FIRST_VALUE和LAST_VALUE则返回窗口内的第一个或最后一个值,以及NTILE用于将数据分桶等。...

    oracle分析函数.doc

    - 首尾函数:`FIRST_VALUE()`, `LAST_VALUE()`,返回指定列的首行或尾行值。 - 移动聚合函数:`SUM()`, `AVG()`, `MIN()`, `MAX()`等,在分析窗口内进行聚合计算。 - 移动平均:如`LEAD()`, `LAG()`, `CUME_DIST...

    ORACLE分析函数大全

    - `FIRST_VALUE()`, `LAST_VALUE()`: 获取窗口内的第一个或最后一个值。 4. **分位数函数**: - `NTILE()`: 将结果集分割成n个相等的部分,返回每个行所在的部分编号。 在使用分析函数时,`OVER()`子句是至关...

    Oracle分析函数实践 - blog.docx

    Oracle分析函数是数据库查询中非常强大的工具,它们用于处理复杂的报表和统计需求,特别是在在线分析处理(OLAP)环境中。分析函数与聚合函数的主要区别在于,聚合函数对每个组只返回一行结果,而分析函数则可以针对...

    Oracle 分析函数.doc

    6. **FIRST_VALUE() 和 LAST_VALUE() 函数** - **FIRST_VALUE()** 返回指定列的第一个值,不管其在数据集中的位置如何。 - **LAST_VALUE()** 返回指定列的最后一个值,同样无视其原始排序。 这些分析函数在处理...

    oracle 常用函数下载

    Oracle数据库中的常用函数是数据库管理员和开发人员在处理数据时不可或缺的工具。这些函数极大地提高了数据处理的效率和灵活性。以下是一些常见的Oracle分析函数及其用法: 1. **开窗函数(Over)**: 开窗函数允许...

    ORACLE_培训之_分析函数

    这使得分析函数在处理具有层次结构或时间序列数据时特别有用。 1. 认识分析函数 分析函数的核心在于`OVER()`函数,它可以指定分组(PARTITION BY)、排序(ORDER BY)以及窗口范围(ROWS BETWEEN)。通过这些子句,...

    ORACLE分析函数.pdf

    6. FIRST_VALUE和LAST_VALUE 这些函数返回指定列的第一个或最后一个值,即使在分组或排序后。这在处理基线值或跟踪趋势时非常有用。 例如,假设我们有一个销售数据表,包含产品、销售日期和销售额。我们可以使用...

    oracle 分析函数学习笔记

    Oracle的分析函数还包括`ROW_NUMBER`, `RANK`, `DENSE_RANK`用于行号分配,`LEAD`, `LAG`用于获取前后行数据,`FIRST_VALUE`, `LAST_VALUE`获取窗口范围内的第一个或最后一个值,以及`NTILE`进行分桶等。这些函数在...

    oracle函数介绍(6) 著名函数之分析函数.doc

    Oracle函数在数据库查询和数据分析中扮演着至关重要的角色,尤其是一些著名的分析函数,它们能够帮助我们进行复杂的统计计算和数据处理。在本篇中,我们将深入探讨几个关键的分析函数,包括AVG、SUM、COUNT、FIRST_...

    Oracle中的分析函数详解

    5. FIRST_VALUE() / LAST_VALUE():返回指定列的第一个或最后一个值,无论在哪个行位置。 6. AVG() / SUM() / MAX() / MIN():这些聚合函数在分析上下文中也可以用作分析函数,返回每个分区的平均值、总和、最大值或...

    oracle常用函数chm版

    6. **分析函数**:分析函数在处理大量数据时非常有用,如`RANK`、`DENSE_RANK`和`ROW_NUMBER`用于生成行序号,`LEAD`和`LAG`可以访问当前行的前一行或后一行数据,`FIRST_VALUE`和`LAST_VALUE`则用于获取分组内第一...

    oracle分析函数的使用

    Oracle分析函数是数据库管理系统Oracle中的一种高级特性,用于对数据集进行分析操作,提供了一种高效、简洁的方式来处理复杂的数据分析任务。分析函数在Oracle 8i版本中首次引入,极大地简化了之前需要通过自连接、...

    oracle函数大全(分类显示).zip

    - `FIRST_VALUE/LAST_VALUE`:返回分组内第一行或最后一行的值。 8. **系统信息函数**: - `USER`:返回当前用户的名称。 - `DBMS_METADATA`:获取数据库对象的元数据信息。 - `V$SESSION`,`V$INSTANCE`:查看...

Global site tag (gtag.js) - Google Analytics