first_value和last_value 是用来去分析函数窗口中对应列的第一个值和最后一个值的函数。

语法如下:

first_value(col [ignore NULLS]) over([PARTITION BY col] [ORDER BY sal] [windows])
last_value(col [ignore NULLS]) over([PARTITION BY col] [ORDER BY sal] [windows])
--col : 表示选取的列
--ignore NULLS :表示忽略空值
--PARTITION BY :表示分组
--ORDER BY :表示排序
--windows :表示窗口,默认值是(RANGE UNBOUNDED PRECEDING AND CURRENT ROW)从第一行到当前行
--windows :常用值(ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)从第一行到最后一行

示例1:

SELECT first_value(comm ) over() firstval,
last_value(comm ) over() lastval,
e.*
FROM emp e

结果:

示例2:

SELECT first_value(comm ) over(partition by deptno) firstval,
last_value(comm ) over(partition by deptno) lastval,
e.*
FROM emp e

结果:

示例3:

SELECT first_value(comm ) over(partition by deptno order by sal) firstval,
last_value(comm ) over(partition by deptno order by sal) lastval,
e.*
FROM emp e

结果:

示例4:

SELECT first_value(comm ignore nulls) over(partition by deptno order by sal) firstval,
last_value(comm ignore nulls) over(partition by deptno order by sal) lastval,
e.*
FROM emp e

结果:

示例5:

SELECT first_value(sal ignore nulls) over(partition by deptno order by sal) firstval,
last_value(sal ignore nulls) over(partition by deptno order by sal) lastval,
e.*
FROM emp e; SELECT first_value(sal ignore nulls) over(partition by deptno order by sal) firstval,
last_value(sal ignore nulls) over(partition by deptno order by sal ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) lastval,
e.*
FROM emp e

结果:

第一个sql结果:

第二个sql结果:

oracle first_value,last_valus的更多相关文章

  1. PL/SQL连接Oracle数据库,中文乱码,显示问号

    问题描述: 登陆PL/SQL,执行SQL语句后,输出的中文标题显示成问号????:条件包含中文,则无数据.         如果不是中文,需要修改注册表值,方法如下: 进入注册表:Win+r,输入re ...

  2. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具

    Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老手,有时候安装起来也觉得挺烦.而工作中,通常服务器上面安装oracle就可以了,我们本地电脑 ...

  3. Oracle解锁,解决“ora00054:资源正忙”错误

    Oracle解锁,解决“ora00054:资源正忙”错误 一.处理步骤:--1.获取被锁对象的session_idSELECT session_id FROM v$locked_object; --2 ...

  4. Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案

    安装pl sql 后,若下图的数据库处为空.则需要安装32位的客户端,说明pl sql不支持64位客户端连接. 解决办法:  1.下载32位Oracle客户端,并安装 2.设置PLSQL Develo ...

  5. 不安装oracle客户端,用plsql连接oracle

    常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多( ...

  6. 查询oracle数据库,返回的数据是乱码。 PL/SQL正常。

    查询oracle数据库,返回的数据是乱码. PL/SQL正常. 解决方案如下:

  7. ASP.NET连接远程Oracle数据库,提示试图加载格式不正确的程序

    VS调试远程连接Oracle数据库,一直报错 由于本地计算机是64位的操作系统,而且也确定安装的Oracle客户端是64位的 ,但是一直提示这个错误. 试了很多方法,终于发现可能是 不能在VS中调试的 ...

  8. Oracle存储过程,以逗号分隔字符串传参的处理

    Oracle存储过程,经常会遇见传入的参数是逗号分隔. 处理需要3步: 第一步,创建Type类型 第二部,创建函数 第三部,创建存储过程 代码如下: 第一步: create or replace ty ...

  9. oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案

    oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案   问题描述: 1. lsnrctl start.stop.非常慢,出现卡顿现象: 2. 执行lsnrc ...

随机推荐

  1. centos redhat 安装g++

    正确安装命令 : yum install gcc-c++ libstdc++-devel 安装后可以在/bin/找到

  2. 【JavaScript】JS的坚实基础

    前言 ​ 考虑到在后面的开发中,需要大量的使用js语言去进行开发,所以准备重新规整一下javascript的知识点,专门开了一个js的专栏,用来复习一下js语言.万事开头难,要是后面写的有问题的,欢迎 ...

  3. Django 中间件 详细总结

    一.什么是中间件 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影 ...

  4. Java反射判断对象实例所有属性是否为空

    https://www.jb51.net/article/201647.htm public static Boolean ObjectAllFieldsEmpty(Object obj) throw ...

  5. 移动GPU分类/百科

    ARM mali gpu四大微架构概述 https://zhuanlan.zhihu.com/p/107141045 http://www.neardi.com/news_23/487.html

  6. (五)MySQL函数

    5.1  常用函数 5.2  聚合函数(常用) 函数名称 描述 COUNT() 计数 SUM() 求和 AVG() 平均值 MAX() 最大值 MIN() 最小值 ....   ....   想查询一 ...

  7. Swift学习笔记(一)

    1.Constants and Variables(常量和变量) let定义常量,var定义变量. [Note] If a stored value in your code won't change ...

  8. 直播预告 | 猪齿鱼V1.1发布,线上新功能详解邀您参加

    2021年11月11日,数智化效能平台猪齿鱼 Choerodon发布 V1.1版本,多项功能新增或优化,多管齐下,全面提升团队工作效能! 通过提供体系化方法论和协作.测试.DevOps及容器工具,猪齿 ...

  9. xpath的chrome插件安装,xpath基本语法

    xpath插件安装: 注意:提前安装xpath插件 (1)打开chrome浏览器 (2)点击右上角小圆点 (3)更多工具 (4)扩展程序 (5)拖拽xpath插件到扩展程序中 (6)如果crx文件失效 ...

  10. 导出 doc

    ... /** * 导出word * @return * @throws Exception */ @JCall public String word() throws Exception{ Stri ...