SQL中lag()和lead()函数使用
首先我们创建一个表user_info表:
CREATE TABLEuser_info(user_id NUMBER(11) primary key, user_name VARCHAR2(14), user_age NUMBER(4),user_birthday DATE);
插入一些数据用于测试,如下:
测试数据截图:
前期工作准备完成,接下来就准备测试这些函数了!
函数简介:
lag()和lead()这两个函数可以查询我们得到的结果集上下偏移相应行数的相应的结果。
形象的说明如下:
lag()函数:
查询当前行向上偏移n行对应的结果
该函数有三个参数:第一个为待查询的参数列名,第二个为向上偏移的位数,第三个参数为超出最上面边界的默认值。
看如下代码:
查询向上偏移 1 位的年龄、
SELECT user_id,user_age,lag(user_age, 1, 0) over(ORDER BY user_id) RESULT
FROM user_info;
lag函数运行图示
lead()函数:
查询当前行向下偏移n行对应的结果
该函数有三个参数:第一个为待查询的参数列名,第二个为向下偏移的位数,第三个参数为超出最下面边界的默认值。
如下代码:
查询向下偏移 2 位的年龄
SELECT user_id,user_age,lead(user_age, 2, 0) over(ORDER BY user_id)FROM user_info;
LEAD()函数图示
SQL中lag()和lead()函数使用相关推荐
- oracle lead 方法,Oracle SQL之lag()和lead()函数使用详解
首先我们创建一个表user_info表: CREATE TABLE user_info(user_id NUMBER(11) primary key, user_name VARCHAR2(14), ...
- lag与lead函数
lag与lead函数 是跟偏移量相关的两个分析函数,通过这两个函数可以再一次查询中取出同一字段的前N行数据(lag)和 后N行的数据(lead)做为独立的列,从而更方便的进行数据过滤.这种操作可以代替 ...
- [MSSQL]也说SQL中显示星期几函数
网上盛传着三个版本,分别来看下 版本1 http://bernardstudios.com/select-day-of-week-name-using-t-sql/ SELECT CASE (DATE ...
- SQL中 NVL()函数的使用
SQL中 NVL()函数的使用 1.nvl() 函数是空值判断函数,空值为 null 的空值 其表达式的值可以是数字型.字符型和日期型 1.NVL(表达式A,表达式B) 如果表达式A为空值( null ...
- oracle lag group,Oracle中的lag()和lead()函数的简单用法(统计增长率)
这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值,并作为新列存在表中. 准备数据 select t.row_id, t.product_code, t.product_price ...
- oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
LAG()和LEAD()统计函数能够在一次查询中取出同一字段的前N行的数据和后N行的值.这样的操作能够使用对同样表的表连接来实现,只是使用LAG和 LEAD有更高的效率.下面整理的LAG()和LEAD ...
- oracle lag、lead函数
over()表示Lag()与Lead()操作的数据都在over()的范围内,他里面可以使用partition by语句(用于分组) order by语句(用于排序).partition by a or ...
- SQL中的字符串截取函数
字符串截取函数,也是我们在数据开发分析的过程中比较常用的函数,比较常用的函数,有四个 left().right().substr().substring_index() 函数. 一.left()函数 ...
- mysql lag over_数据库sql 使用 lag 和OVER 函数和 like 使用 小技巧
1. sample 1: Lag()就是取当前顺序的上一行记录.结合over就是分组统计数据的. Lag()函数,就是去上N行的字段的数据. SQL> select * from x; A -- ...
最新文章
- RDKit | RDKit(2019.09)新增相似性图函数
- kettle spoon中“表输入”到“表输出”的乱码问题
- telegraf输出MySQL_如何使用Telegraf拖尾远程日志文件
- OS X开发:NSProgressIndicator进度指示器控件
- 巧解C语言运算符的优先级和结合性
- 解决:ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect
- 女人抛弃男人的唯一理由
- mysql中存储过程定义
- java9 32位官网下载_jdk1.9 32位官方下载
- 【转】密码破解全能工具:Hashcat密码破解攻略
- 阿里云服务器为何价格比较贵?
- js-鼠标事件-拖放图片(对鼠标事件进一步加深印象)
- 何文江先生出任创意信息集团总经理
- 青山绿水 峡谷奇观---野三坡之行(转)
- 祝爸爸妈妈中秋节快乐
- 程序员面试题精选(24):栈的push、pop序列
- MBTI16型人格测试思维导图 | 找到自己的类型
- c++和java学哪个好,c++和java区别 学哪个比较好
- Linux之LVM篇
- 通过apk签名使应用程序有系统权限