oracle lag使用情景,lag函数用法
摘要:
下文讲述sqlserver 2012中 lag、lead分析函数的用法及简介
实验环境: sqlserver 2012
lag、lead:
可以不通过联结的形式获取上下相邻(指定偏移量)行的指定列的数据
lag 向前指定数据
lead向后指定数据
——————–
lag、lead参数说明:
参数1:列名
参数2:偏移量offset
参数3:进行偏移量计算后,无法得到结果时的缺省值
例:
lag分析函数举例说明
declare @test table(keyId int,info varchar(20),qty int)
insert into @test (keyId,info,qty)values(-1,'a',2)
insert into @test (keyId,info,qty)values(1,'a',2)
insert into @test (keyId,info,qty)values(2,'a',10)
insert into @test (keyId,info,qty)values(3,'b',8)
insert into @test (keyId,info,qty)values(3,'b',8)
insert into @test (keyId,info,qty)values(5,'d',8)
insert into @test (keyId,info,qty)values(6,'b',9)
/*
例: lag 在info群组中,
向前偏移一行, 无法找到值时,使用默认值"-9"
keyId=-1 在info ='a'群组中,向前偏移一行,无数据,所以为默认值-9
keyId=1 在info ='a'群组中,向前偏移一行,上一行数据为-1 所以显示-1
keyId=2 在info ='a'群组中,向前偏移一行,上一行数据为-1 所以显示-1
keyId=3 在info ='b'群组中,向前偏移一行,无数据,所以为默认值-9
keyId=3 在info ='b'群组中,向前偏移一行,上一行数据为-1 所以显示3
keyId=6 在info ='b'群组中,向前偏移一行,上一行数据为-1 所以显示3
keyId=5 在info ='d'群组中,向前偏移一行,无数据,所以为默认值-9
*/
select *,
lag(keyId,1,'-9') over(partition by info order by keyId) as lagInfo
from @test
mssql_sqlserver_lag详解举例-1
—————————————
mssql_sqlserver_lag详解举例-2
lead分析函数举例说明
lead 向后查找指定列数据,作为返回值,同lag的唯一区别为:查找方向不一样
declare @test table(keyId int identity,info varchar(20),qty int)
insert into @test (info,qty)values('a',2)
insert into @test (info,qty)values('a',2)
insert into @test (info,qty)values('a',10)
insert into @test (info,qty)values('b',8)
insert into @test (info,qty)values('b',8)
insert into @test (info,qty)values('d',8)
insert into @test (info,qty)values('b',9)
select *,
lead(keyId,1,'-9') over(order by keyId) as lagInfo
from @test
mssql_sqlserver_lead详解举例-1
oracle lag使用情景,lag函数用法相关推荐
- Oracle数据库Bitand()函数用法(计算位移)
由于项目需要,经理要求我做一个可多选的下拉选框.我一听,so easy, 于是屁颠屁颠跑回座位,然后想想如何方便顺序的解决掉这个问题. 思路如下:为了简化,有字典表 (表 T1) 另外还有张表需要用到 ...
- mysql lag over_lag函数(lag函数用法)
SELECT lag(task_id, 1, null) over(PARTITION BY *** ORDER BY ***), lead(task_id, 1, null) over(PARTIT ...
- php instr函数,oracle的instr函数用法
这几天在做一个项目的时候,做到关于用户组权限分配的问题,用到了Oracle的instr函数,现在好好学习下这个函数吧. 在Oracle/PLSQL中, instr 函数返回要截取的字符串在源字符串中的 ...
- oracle易忘函数用法(1)
一般的to_char是这样用的to_char(sysdate,'YYYY-MM-DD hh:mi:ss AM') ,也有几个突出点的用法: to_char(sysdate, 'dd') 查看今天是几号 ...
- oracle within的用法,Oracle的 listagg() WITHIN GROUP ()函数使用
1.使用条件查询 查询部门为20的员工列表 -- 查询部门为20的员工列表 SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20 ...
- oracle 更新flwid,Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
今天工作过程中用到了Oracle的分析函数,在网上查到以下文章,转到这里,以备后用! Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法 ROW_NUMBER() OV ...
- oracle 的wecate函数,1.Oracle中decode()函数用法
1.Oracle中decode函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻 ...
- oracle 天转换成月函数_oracle中to_date详细用法示例(oracle日期格式转换)
TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm ...
- oracle数据库 日期函数用法
oracle数据库 日期函数用法 –Oracle trunc()函数的用法 /日期******/ 1.select trunc(sysdate) from dual --2013-01-06 今天的日 ...
最新文章
- 监控告警满飞天,Netflix 运维如何做到在家睡到自然醒...
- docker svn
- 程序异常异常代码: 0xc0000005_Java基础:看完这篇你还怕碰到异常吗?
- DWR学习笔记 - Hello World
- 华为机试HJ100:等差数列
- asp.net: 应用母版页的页面,如何设置其标题?
- FFmpeg总结(七)AV系列结构体之AVIOContext
- 关于select标签曾经踩过的几个坑!
- java 读取读取配置文件
- SQL 数据库 学习 033 视图
- word/wps 实用技巧: 批量改大纲标题样式
- w锋ndows用户组设置,第2章Wndows+Server+2008本地用户和组.ppt
- 记一次淘宝开放平台开通电商软件服务商ISV
- 西电和杭电计算机考研,名师张雪峰:中国有四个电子科技大学,有一个很特别,考研要注意...
- Anaconda安装
- 王伟storm_危机中复苏 2005年中国星际风云录
- java多线程 wait和notify方法
- 大数据证实:学习使人快乐
- Excel取当前工作表名称
- JAVA获取优酷、土豆、酷6等视频实例
热门文章
- 2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写【T.O.CTF】
- 解读redis的配置文件--redis.conf
- TCP协议-TCP连接管理
- 2023重庆邮电大学计算机考研信息汇总
- ca机构将会被区块链取代
- 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
- cmd - 切换目录命令cd失效(切换目录失效)
- Linux进程亲族关系图
- 高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡
- java 中free,FreeJava 的使用方法(三)FreeJava的使用,freejava使用方法