LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本

DECLARE @TestData TABLE(

ID INT IDENTITY(1,1),

Department VARCHAR(20),

LastName VARCHAR(20),

Rate FLOAT

)

INSERT INTO @TestData(Department,LastName,Rate)

SELECT 'Document Control','Arifin',17.7885 UNION ALL

SELECT 'Document Control','Norred',16.8269 UNION ALL

SELECT 'Document Control','Kharatishvili',16.8269 UNION ALL

SELECT 'Information Services','Chai',10.25 UNION ALL

SELECT 'Information Services','Berge',10.25 UNION ALL

SELECT 'Information Services','Trenary',50.4808 UNION ALL

SELECT 'Information Services','Conroy',39.6635 UNION ALL

SELECT 'Information Services','Ajenstat',38.4615 UNION ALL

SELECT 'Information Services','Wilson',38.4615 UNION ALL

SELECT 'Information Services','Connelly',32.4519 UNION ALL

SELECT 'Information Services','Meyyappan',32.4519

SELECT * FROM @TestData

以上是原始数据,下边应用LEAD函数,看下怎么把其它行的数据提取到当前行显示的

可以看到,LEAD函数把ID为2的那一行的LastName值提取到第一行显示为新列NEXTUser,就这么个功能

下边这个是间隔两行提取数据,就是把第三行的数据提取到当前行,其它行以次累推,看图

这个函数一共接受三个参数,第一个是表达式,以上示例都使用的字段,还可以是其它有效的表达式,第二个参数是offset,即间隔多少行取数据,第三个是默认的间隔,即当没有指定offset时以此为准

举个例子,以上述代码为例

LEAD(LastName,2,0)

当没有指定那个2的时候,则以间隔0行为准,当有指定那个2的时候则间隔2行取数据,所以,往往第三个参数可以不指定,效果是一样的,如下图

与LEAD函数相对应的还有一个函数,LAG,看下图效果

如上图所示,这个函数是从上行取数据,其它间隔参数的意义一样,LEAD是从下行取数据,TAG相反是上行取数据,写到这里我就再想,如果指定负数,是不是就可以合并为一个函数了?试下想法:

报错,offset参数不能为负,哥不作评论,,,The End

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL相关推荐

  1. 直立车模控制中三种滤波算法简单分析(清华卓晴)

    摘自:https://mp.weixin.qq.com/s/WbCh0NFAnsf9y2blQenf7g 让我想起余义的一篇文章也是说到平衡车有三种滤波,我想和卓晴说的是一样的吧. https://b ...

  2. 针对RT_Thread中rt_pin_mode()函数的分析

    针对RT_Thread中rt_pin_mode()函数的分析 文章目录 前言 一.流水灯代码 二.分析void rt_pin_mode(rt_base_t pin, rt_base_t mode)函数 ...

  3. oracle leg函数,Hive中的leg和lead函数简单使用

    介绍: Hive的分析函数又叫窗口函数,在oracle中就有这样的分析函数,主要用来做数据统计分析的. Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(L ...

  4. JAVA中调用C语言函数简单教程

    背景知识 本地代码 在JAVA中使用其他语言的代码(如C/C++)称为本地代码. 历史原因 JAVA的早期阶段,很多人认为使用C和C++来加速JAVA应用中的关键部分是个好主意,但是实际上,虽然JAV ...

  5. SQL中lag()和lead()函数使用

    首先我们创建一个表user_info表: CREATE TABLEuser_info(user_id NUMBER(11) primary key, user_name VARCHAR2(14), u ...

  6. powerquery分组_Power Query中的Table.Group函数详细分析

    在我们操作过程中,使用分组依据进行汇总计算的操作应该是非常的多的,我们对于这个函数还是非常有必要深入了解下. Table.Group 按为每行指定的列 key 中的值对 table 的行进行分组. 对 ...

  7. oracle中会话和连接数的简单分析

    通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器.通过哪个应用程序.哪个用户登录等信息 ...

  8. python中“羊车门问题”的简单分析与代码实现

    1."羊车门问题"题目及要求. 2.问题的数学逻辑分析. 3.python代码分析出换和不换的概率. "羊车门问题"题目及要求: 有三扇关着的门,一扇门后面停着 ...

  9. Java中final关键字作用的简单分析

    final关键字可以用来修饰引用.方法和类. 一.用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改: 如果引用为引用数据类型,如对象.数组,则该对象.数组本身可以修改,但指向该对 ...

最新文章

  1. 多线程还是多进程的区别
  2. abaqus单位怎么设置_ABAQUS-怎样模拟塑料瓶的抗挤压能力?
  3. 重磅:2020年度国家科技奖初评结果出炉!
  4. Windows下Eclipse 安装 SVN 插件的两种方法
  5. 解构领域驱动设计--思维导图
  6. 白话区块链技术-区块链工程师大讲堂
  7. PGP加密并签名电子邮件
  8. 利用BS爬取单词音标
  9. 安搭Share:2020年前三季度,金融部门杠杆率保持稳定
  10. vuejs中用require引入图片,出现ReferenceError: require is not defined
  11. C语言回车符号和换行符
  12. 破防了,这4款良心高效的优质软件,着实把我感动到了
  13. 已设置过微信号怎么改?新版微信已经支持这个功能!
  14. 计算机网络三级考的是什么,三级网络技术都考什么东西?
  15. 【Dash搭建可视化网站】项目13:销售数据可视化大屏制作步骤详解
  16. Field baseMapper in com.xxx required a single bean,but 100 were found --------Mybatis-Plus
  17. jstack: Java占用高CPU分析之- C2 Compiler Thread
  18. 数据团队需要的六类角色
  19. python控制软件操作流程_python入门篇之介绍和流程控制(一)
  20. TextAnalysisTool.net -- 提高文本分析效率的小工具

热门文章

  1. Play 2.0框架和XA交易
  2. linux 端口方法防火墙,Linux 打开端口方法(防火墙操作)
  3. python奇偶求和_python 判断奇偶并求和,运行过程有错误,希望高手给指导一下。...
  4. Sublime Text for Mac的快捷键
  5. mysql驱动连接不了mariadb_无法从振动应用程序连接到MySQL / MariaDB数据库
  6. python卸载module_Python学习笔记
  7. oracle system用户创建job 其他用户,oracle创建表空间、用户和表以及sys和system的区别...
  8. docker 打包mysql_基于docker部署mysql的数据持久化问题
  9. 计算机基础应用形考5access答案,计算机应用基础形考作业五答案.doc
  10. 3制造数据集_基于MBD的产品设计制造技术研究