Oracle分析函数FIRST_VALUE、LAST_VALUE
FIRST_VALUE、LAST_VALUE分析函数可以按照特定分组和排序取出组内首尾值,语法
FIRST_VALUE { (expr) [ {RESPECT | IGNORE} NULLS ]| (expr [ {RESPECT | IGNORE} NULLS ])}OVER (analytic_clause)
测试下
10:48:07 SCOTT@study> SELECT EMPNO, 10:48:15 2 DEPTNO, 10:48:15 3 SAL, 10:48:15 4 FIRST_VALUE(SAL) IGNORE NULLS OVER(PARTITION BY DEPTNO ORDER BY SAL) AS LOWEST_IN_DEPT, 10:48:15 5 FIRST_VALUE(SAL) IGNORE NULLS OVER(PARTITION BY DEPTNO ORDER BY SAL ROWS 1 PRECEDING) AS PRECEDING_IN_DEPT, 10:48:15 6 LAST_VALUE(SAL) IGNORE NULLS OVER(PARTITION BY DEPTNO ORDER BY SAL) AS HIGHEST_IN_DEPT, 10:48:15 7 LAST_VALUE(SAL) IGNORE NULLS OVER(PARTITION BY DEPTNO ORDER BY SAL ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS HIGHEST_IN_DEPT 10:48:15 8 FROM EMP;EMPNO DEPTNO SAL LOWEST_IN_DEPT PRECEDING_IN_DEPT HIGHEST_IN_DEPT HIGHEST_IN_DEPT ---------- ---------- ---------- -------------- ----------------- --------------- ---------------7934 10 1300 1300 1300 1300 50007782 10 2450 1300 1300 2450 50007839 10 5000 1300 2450 5000 50007369 20 800 800 800 800 30007876 20 1100 800 800 1100 30007566 20 2975 800 1100 2975 30007788 20 3000 800 2975 3000 30007902 20 3000 800 3000 3000 30007900 30 950 950 950 950 28507654 30 1250 950 950 1250 28507521 30 1250 950 1250 1250 28507844 30 1500 950 1250 1500 28507499 30 1600 950 1500 1600 28507698 30 2850 950 1600 2850 285014 rows selected.Elapsed: 00:00:00.00 10:48:17 SCOTT@study>
LAST_VALUE的默认写法结果不符合预期,是因为默认的开窗语句"RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW",所以需要显性写出正确的开窗语句
转载于:https://www.cnblogs.com/yongestcat/p/11248907.html
Oracle分析函数FIRST_VALUE、LAST_VALUE相关推荐
- 窗口分析函数19_Mysql查询窗口函数里第一个 最后一个 第N个元素的值的案例详解(FIRST_VALUE LAST_VALUE NVH_VALUE)
Mysql查询窗口函数之按序号取元素详解 需求概述 查询以课程(course)分区以分数(score)逆序的窗口里的第一个.最后一个和第2个元素对应的值.示例表数据见下: SELECT '数学' co ...
- oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle 分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内 ...
- oracle 数据分析函数,ORACLE分析函数(一)
ORACLE分析函数(1) 分析函数式ORACLE提供的用来进行数据统计的强有力工具,与我们常用的聚合函数具有一些相似性,但又完全不同.聚合函数,首先会将数据进行分组,然后对每一组数据进行运算,如求和 ...
- Oracle分析函数巧妙使用
在 Oracle中使用Sql必须弄懂分析函数 Oracle开发专题之:分析函数(OVER) 1 Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number) 6 Or ...
- Oracle分析函数——函数列表
--------------聚合函数 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算 ...
- oracle 分析函数、GROUPING函数
分析函数 over(Partition by...) 一个超级牛皮的ORACLE特有函数.天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊!oracle的分析函数o ...
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内的数据 ...
- oracle计算最大与最小之间数,oracle 分析函数
oracle分析函数,主要五大类 一等级函数:row_number();DENSE_RANK();Rank() 主要就是遇到相同排名时的区别, 查询各部门职位级别最高的2个人 select * fro ...
- oracle regr,oracle 分析函数
一.Oracle分析函数入门 分析函数是什么? 分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统 ...
最新文章
- python局域网传输文件_Python+pyftpdlib实现局域网文件互传
- android 处理双击事件
- Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略
- 简单直接的方法解析JSON数据
- CRM 客户关系管理
- MyEclipse创建struts.xml
- 鲨鱼 抓包 oracle,抓包工具wireshark的操作使用
- CentOS添加swap分区
- 从头开始学做 canvas 动画引擎
- linux centos用户修改密码,centos怎么修改用户密码
- DTCC大会归来感想
- 手摸手。完成一个H5 抽奖功能
- Arcgis报错 ERROR 999999的解决方法汇总
- EF(Entity Framework、EF Core)
- 重庆顶香味分析快手春竹笋的制作方法
- [PowerBI]DAX虚拟连接函数:TREATAS()用法介绍
- C++Primer第五版——习题答案详解(六)
- 词根、词缀笔记(一)
- 【Teradata】windows部署安装Teradata数据库(附虚拟机扩展包)
- HP 3PAR可用容量计算方式
热门文章
- 【python】关于控制台的中文输出出现\x形式的问题 python常用包与如何安装
- legend3---laravel中获取控制器名称和方法名称
- 【基础算法-模拟-例题-*校长的问题】-C++
- jvm垃圾回收器(《深入理解java虚拟机》)
- node express 学习笔记
- ROS Indigo下安装测试Xtion Pro
- Jzoj4458 密钥破解——Pollard-rho
- 【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别
- Gibbs sampling
- AWK增强的文本处理shell特征--AWK完全手册