首页 > 数据库 >oracle 分析函数 LAG、LEAD

oracle 分析函数 LAG、LEAD

时间:2023-04-26 19:38:16浏览次数:33  
标签:LEAD SAL OVER LAG JOB EMP oracle


用SCOTT/TIGER登录。


LAG()和LEAD()统计函数可以在一次查询中取出同一字段的前N行的数据和后N行的值。这种操作可以使用对相同表的表连接来实现,不过使用LAG和 LEAD有更高的效率。


SQL:

SELECT JOB, SAL, LAG(SAL) OVER (ORDER BY JOB) FROM EMP;



结果:

oracle 分析函数 LAG、LEAD_SQL


SQL:

SELECT JOB, SAL, LAG(SAL, 2) OVER (ORDER BY JOB) FROM EMP;



结果:

oracle 分析函数 LAG、LEAD_数据_02


SQL:

SELECT JOB, SAL, LEAD(SAL) OVER (ORDER BY JOB) FROM EMP;



结果:

oracle 分析函数 LAG、LEAD_SQL_03


SQL:

SELECT JOB, SAL, LEAD(SAL, 2) OVER (ORDER BY JOB) FROM EMP;



结果:

oracle 分析函数 LAG、LEAD_数据_04


标签:LEAD,SAL,OVER,LAG,JOB,EMP,oracle
From: https://blog.51cto.com/u_1002776/6228655

相关文章

  • oracle SQL引擎和PL/SQL引擎
    如下图所示,PL/SQL引擎会执行过程化语句,但它把SQL语句发送给SQL引擎处理,然后SQL引擎把处理的结果返回给PL/SQL引擎。PL/SQL和SQL引擎间的频繁切换会大大降低效率。典型的情况就是在一个循环中反复执行SQL语句。例如,下面的DELETE语句就会在FOR循环中被多次发送到SQL引擎中去:初始化一......
  • oracle Io 异常: The Network Adapter could not establish the connection
    用jdbc连oracle的时候,报错:java.sql.SQLException:Io异常:TheNetworkAdaptercouldnotestablishtheconnection查看C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN里的listener.ora和tnsnames.ora,发现端口变成了1527,不知道怎么回事,默认是1521啊。改回来,就可以了。......
  • oracle 游标总结
    for循环游标DECLARECURSORC_EMPISSELECTEMPNO,ENAME,JOB,SALFROMEMPWHEREJOB='MANAGER';V_ROWC_EMP%ROWTYPE;BEGINFORV_ROWINC_EMPLOOPDBMS_OUTPUT.put_line(V_ROW.EMPNO||'-'||V_ROW.ENAME||'-'||V_ROW.JOB......
  • 用java调用oracle存储过程总结
    用java调用oracle存储过程总结[code]1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。......
  • Oracle数据库设计——定义约束 主键
    Oracle数据库设计——定义约束主键[code]声明约束主键(PRIMARYKEY)一张表不一定有主键,但大多数表都创建了主键,主键值必须唯一并且组成主键的各列都不能为空。想象一下存储学生信息的一张表。在学生表(STUDENTS)每个学生有且仅有一行记录。因此,在S......
  • Oracle中UNION 与UNION ALL的学习
    Oracle中UNION与UNIONALL的学习[code]1、UNION:并集,所有的内容都查询,重复的显示一次;2、UNIONALL:并集,所有的内容都显示,包括重复的;3、INTERSECT:交集,只显示重复的;4、MINUS:差集,只显示对方没有的(跟顺序是有关系的)两者都是对记录集操作,把来自许多SELE......
  • Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误
    Oracle的参数sec_case_sensitive_logon是Oracle11g开始被引入。这个参数主要是为了控制密码的大小写敏感问题。sec_case_sensitive_logon=true表示密码区分大小写。sec_case_sensitive_logon=false表示密码不区分大小写。从Oracle12c开始,参数sec_case_sensitive_logon被弃用......
  • oracle 最大并发数 会话数查询
    怎样查看oracle当前的连接数SQL>selectcount(*)fromv$session#当前的连接数SQL>Selectcount(*)fromv$sessionwherestatus='ACTIVE'#并发连接数SQL>selectvaluefromv$parameterwherename='processes'--数据库允许的最大连接数SQL>showparameterpro......
  • python 连接oracle 报错 cx_Oracle.DatabaseErro
    1,python连接oracle的时候报错如下cx_Oracle.DatabaseError:ORA-24315:非法的属性类型,2,导致这个错误的原因是服务器oracle版本和客户端cx_oracle客户端版本不一致引起的,所以通过下面命令询oracle版本。select*fromv$version3,然后到http://sourceforge.net/projects/cx-ora......
  • Oracle UNDOTBS01.dbf 占用空间过大解决
    在无法使用第一种方法压缩占用空间的情况下,可以使用本方法。 UNDOTBS01.dbf是oracle系统undo_tablespace使用的,其作用为:回退事务、读一致性、事务恢复、倒叙查询(FlashBackQuery) 1、先查看在使用UNDOTBS01.dbf的undo_tablespace表名:使用sqlplus连接数据库,输入命......