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

转载于:https://www.cnblogs.com/kkun/p/3934801.html

[MSSQL2012]LEAD函数相关推荐

  1. mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL

    LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本 DECLARE @TestData TABLE( ID INT IDENTITY(1,1), Dep ...

  2. oracle中lag()函数和lead()函数的用法(图文)

    lag和lead函数可以在同一次查询中取出同一字段的前N行数据(lag)和后N行数据(lead). 这种字段可以使用对相同表的表连接来实现,不过使用lag和lead函数具有更高的效率. 语法: LAG ...

  3. oracle lead 方法,Oracle SQL之lag()和lead()函数使用详解

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

  4. MySQL中LAG()函数和LEAD()函数的使用

    一.窗口函数的基本用法 从MySQL8之后才开始支持窗口函数 <窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列& ...

  5. oracle lag、lead函数

    over()表示Lag()与Lead()操作的数据都在over()的范围内,他里面可以使用partition by语句(用于分组) order by语句(用于排序).partition by a or ...

  6. lag与lead函数

    lag与lead函数 是跟偏移量相关的两个分析函数,通过这两个函数可以再一次查询中取出同一字段的前N行数据(lag)和 后N行的数据(lead)做为独立的列,从而更方便的进行数据过滤.这种操作可以代替 ...

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

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

  8. oracle lag group,Oracle中的lag()和lead()函数的简单用法(统计增长率)

    这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值,并作为新列存在表中. 准备数据 select t.row_id, t.product_code, t.product_price ...

  9. <数据库> LEAD函数的用法 Leetcode 1709. 访问日期之间最大的空档期

    对于一张表的一行数据而言,在其之上的是Lag, 在其之下的是Lead +---------+------------+         LAG()  ------------------------ ...

最新文章

  1. 市场营销学python有用吗_1、熟悉Python编辑、开发和运行环境。
  2. Android乐动力的开始启动页面开源代码
  3. 每日一皮:周六了,想跟你说一句...
  4. ACM中出现RuntimeError的原因及可能的解决办法
  5. Python IDE:PyCharm中的那些实用功能
  6. 对象测试_测试|你挑恋爱对象的眼光准不准?
  7. 520 页机器学习笔记!图文并茂可能更适合你
  8. C++学习之路 | PTA乙级—— 1063 计算谱半径 (20 分)(精简)
  9. linux I/O 栈 预习(上)
  10. nginx subrequest演示示例程序
  11. 这样的极客大会千万别停!如今中国太需要为技术传道、为极客正名
  12. git提交报异常,fatal: The remote end hung up unexpectedly
  13. 合作式智能运输系统 车用通信系统应用层及应用数据交互标准 第二阶段_为什么一定要了解OPC UA TSN——未来的工业通信标准...
  14. linux vsftpd
  15. Python 面试宝典
  16. JQUERY简单实现点击图片放大效果
  17. 埃默里大学计算机值得读吗,埃默里大学计算机科学-计算科学硕士研究生Offer及录取要求...
  18. Deepin 系统没有 Times New Roman 等微软字体
  19. 学习python爬虫-爬取豆瓣top250相关信息
  20. 聊聊大数据平台上云这点事

热门文章

  1. 什么是强人工智能,强人工智能的实现,需要具备哪些条件?
  2. Tensorflow— 下载google图像识别网络inception-v3并查看结构
  3. 2021年图灵奖,花落高性能计算先驱、田纳西大学教授Jack Dongarra
  4. 认清智能化战争的制胜根本
  5. 宇宙和世界真的是虚拟的吗?
  6. 世界一流大学如何建设人工智能学科
  7. ​20210716未来智能实验室收录资料
  8. AI与网络安全的未来:数据集与协同能力
  9. 2019年25大人工智能趋势!一文看到未来
  10. 2018人工智能前沿报告:深度学习的应用和价值