FIRST_VALUE 返回组中数据窗口的第一个值 FIRST_VALUE ( [scalar_expression )OVER ( [ partition_by_clause ] order_by_clause ) LAST_VALUE   返回组中数据窗口的最后一个值  LAST_VALUE ( [scalar_expression )OVER ( [ partition_by_clause ] order_by_clause ) 
一个简单例子:SQL> select deptno,  2         sal,  3         ename,  4         first_value(ename) over(partition by deptno order by sal) first_ename,  5         last_value(ename) over(partition by deptno order by sal) last_ename1,  6         last_value(ename) over(partition by deptno) last_ename2  7    from emp;
    DEPTNO        SAL ENAME      FIRST_ENAM LAST_ENAME LAST_ENAME---------- ---------- ---------- ---------- ---------- ----------        10       1300 MILLER     MILLER     MILLER     KING        10       2450 CLARK      MILLER     CLARK      KING        10       5000 KING       MILLER     KING       KING        20        800 SMITH      SMITH      SMITH      FORD        20       2975 JONES      SMITH      JONES      FORD        20       3000 FORD       SMITH      FORD       FORD        30        950 JAMES      JAMES      JAMES      BLAKE        30       1250 MARTIN     JAMES      WARD       BLAKE        30       1250 WARD       JAMES      WARD       BLAKE        30       1500 TURNER     JAMES      TURNER     BLAKE        30       1600 ALLEN      JAMES      ALLEN      BLAKE        30       2850 BLAKE      JAMES      BLAKE      BLAKE
已选择12行。
上面例子说明:请注意last_ename1和last_ename2两列的区别,在语法上last_ename2比last_ename1在over中缺少了order by sal的排序操作。last_value(ename) over(partition by deptno)为以deptno分组的最后一个值,这个很容易理解。last_value(ename) over(partition by deptno order by sal),会按照deptno分组的基础上按sal列升序排序,取最后一个值,其实只要deptno和sal不是完全一样,取值都跟当前行ename值相同;如果depetno和sal有相同的行,则按最后一行算(如上面deptno=30并且sal=1250的两行),这点需要特别注意。

转载于:https://www.cnblogs.com/zhaoshuangshuang/p/3275819.html

Oracle分析函数之FIRST_VALUE和LAST_VALUE相关推荐

  1. oracle 分组first,Oracle分析函数:First_Value

    楼上例子很经典,但补充两点: 1. 使用DISTINCT与不使用DISTINCT,对FIRST_VALUE函数是有区别的,使用DISTINCT的FIRST_VALUE函数效果等类似于SQL Serve ...

  2. Oracle分析函数FIRST_VALUE、LAST_VALUE

    FIRST_VALUE.LAST_VALUE分析函数可以按照特定分组和排序取出组内首尾值,语法 FIRST_VALUE { (expr) [ {RESPECT | IGNORE} NULLS ]| ( ...

  3. oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…

    Oracle 分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内 ...

  4. oracle 数据分析函数,ORACLE分析函数(一)

    ORACLE分析函数(1) 分析函数式ORACLE提供的用来进行数据统计的强有力工具,与我们常用的聚合函数具有一些相似性,但又完全不同.聚合函数,首先会将数据进行分组,然后对每一组数据进行运算,如求和 ...

  5. Oracle分析函数巧妙使用

    在 Oracle中使用Sql必须弄懂分析函数 Oracle开发专题之:分析函数(OVER) 1 Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number) 6 Or ...

  6. oracle 排序的分析函数,Oracle分析函数用法详解

    OVER(PARTITION BY)开窗函数用法 开窗函数,Oracle从8.1.6开始提供开窗函数,开窗函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是: 对于每个组返回多行,而聚合函数对于 ...

  7. Oracle分析函数——函数列表

    --------------聚合函数 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算 ...

  8. oracle 分析函数、GROUPING函数

    分析函数 over(Partition by...) 一个超级牛皮的ORACLE特有函数.天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊!oracle的分析函数o ...

  9. Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…

    Oracle分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内的数据 ...

最新文章

  1. 高阶程序员之路-轻松学习分布式锁
  2. python下载地址-python下载网址
  3. 木马入侵查杀 linux
  4. github详细搜索
  5. oracle数据库自动备份脚本
  6. 阿里巴巴张勇:创造风口而不是追逐
  7. 计算机作文1000字,丢失的计算机作文1000字
  8. c语言链表小甲鱼,有大佬做过小甲鱼双向链表实践吗小甲鱼
  9. 浅谈歌词文件(LRC、QRC、KRC)
  10. ResourceBundle
  11. matlab中有非线性模型吗,仿真非线性模型Matlab
  12. Twaver-HTML5基础学习(18)数据容器(1)_增删查改、遍历数据容器、包含网元判断
  13. 电脑无限重启 服务器,电脑开机无限蓝屏重启怎么办
  14. 部署dicuz论坛网站
  15. 计算机电源可以改装,闲置的台式机电脑电源别扔了,可以拿来改0-30V可调电源...
  16. redis 存 JSONObject 报 nested exception is java.io.NotSerializableException:
  17. 论文阅读:CVPR2022 Rethinking Minimal Sufficient Representation in Contrastive Learning
  18. OA行业分析:OA厂商与OA用户要如何相处?
  19. Ubuntu把在效劳器领域起更主要的脚色
  20. 同济、阿里获CVPR最佳学生论文,李飞飞获黄煦涛奖,近6000人线下参会

热门文章

  1. cent mysql 配置,centos下MySQL安装配置
  2. 推荐 | 微软SAR近邻协同过滤算法相关问题(三)
  3. 电商智能写作:京东AI闪电智能写作引擎
  4. 开源 java CMS - FreeCMS2.7 移动端栏目页静态化
  5. flask+socketio+echarts3 服务器监控程序(基于后端数据推送)
  6. php : 匿名函数(闭包) [一]
  7. Java基础复习---线程创建
  8. HTML标记语言——表单的详细使用说明
  9. yii CComponent组件 实例说明1
  10. 【嵌入式】课程文章参考