偶然间发现两个非常好用的函数:lead,lag,它们可以将数据进行位移,位移之后用来计算环比应该是很容易了。因为涉及到位移,所以会有数据会被挪位而消失。

  • lag :形象的理解就是把数据从上向下推,上端出现空格

  • lead :形象的理解就是把数据从下向上推,下端出现空格

lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是 超出记录窗口时的默认值。举例如下:

原始数据表:items

运用lag函数:

select *,lag(item_brand,1,0) over (order by item_id) from items

运用lead函数:


lag函数在连续问题上的用法:

select distinct(Num) ConsecutiveNums from
(select *,
lag(Num,1,0) over (order by Id) Num1 ,
lag(Num,2,0) over (order by Id) Num2
from Logs) a
where Num=Num1 and Num1=Num2

sql中的窗口函数:lead,lag相关推荐

  1. SQL 中的窗口函数

    SQL 中的窗口函数(Window Functions)是一种特殊的函数,它可以在查询结果的某个区间内执行计算,而不仅仅是对单个行进行计算. 以下是一些常用的窗口函数: 1.ROW_NUMBER() ...

  2. spark sql中的窗口函数

    2019独角兽企业重金招聘Python工程师标准>>> databricks博客给出的窗口函数概述 Spark SQL supports three kinds of window ...

  3. Hive窗口函数-lead/lag函数

    前面我们学习的first_value和last_value 取的是排序后的数据截止当前行的第一行数据和最后一行数据 Lag和Lead分析函数可以在一次查询中取出当前行后N行和前N行的数据,虽然可以不用 ...

  4. 「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)...

    上一篇介绍过数据差距与数据岛的背景,这里不再赘述,请翻阅上一文.此篇在Sqlserver上给大家演示1000万条记录的计算性能. 测试电脑软硬件说明 一般般的笔记本电脑,2017年7月,价格:4500 ...

  5. dataframe 模仿sql实现窗口函数功能 lead lag dataframe groupy 实现窗口函数

    df:DataFrame,每个工单的操作日志表.列:工单号, 操作时间,操作行为代码 我想找出有哪些工单进行了操作1之后紧接着就是进行操作5 如果是在sql中,直接用lead窗口函数就行. 但是在da ...

  6. sql示例_SQL Server Lead功能概述和示例

    sql示例 This article explores the SQL Server Lead function and its usage with various examples. 本文通过各种 ...

  7. SQL篇-常用窗口函数

    前言 1.什么是窗口函数 2.窗口函数的语法 3.窗口函数中的元素 1)函数名 window_function_name 2) 分区 partition_defintion 3) 排序 order_d ...

  8. 《T-SQL性能调优秘笈——基于SQL Server 2012 窗口函数》——1.1 窗口函数的背景...

    本节书摘来自异步社区出版社<T-SQL性能调优秘笈--基于SQL Server 2012 窗口函数>一书中的第1章,第1.1节,作者: [美]Itzik Ben-Gan,更多章节内容可以访 ...

  9. mysql cte 语法_MySQL 8.0 新增SQL语法对窗口函数和CTE的支持

    尝试了一下MySQL 8.0的部分新特性. 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛 ...

最新文章

  1. matlab创建mat格式变量并导入数据
  2. h5的语义化部分_H5 部分新语义化标签
  3. linux环境编程 学习,学习linux环境高级编程首先学习的是文件的操作。因为有.pdf...
  4. 【详细讲解】1065 A+B and C (64bit) (20 分)
  5. 怎么调用anaconda安装的pip_对于学python的小伙伴来到底该不该安装andconda
  6. ISO50001认证辅导,ISO50001能源管理体系认证至少符合以下条件
  7. sap 思维导图_思维导图模板,思维导图简单漂亮画法
  8. gradle 教程 0 - 安装篇
  9. 【3153万】巴菲特午餐再创天价!细数曾与股神共进午餐的中国大佬丨湾区人工智能...
  10. (2)二叉树由后序(LRD)和中序(LDR)得到前序(DLR)
  11. Network (哈工大网课笔记)
  12. C# %253A%252F%252F 咋编码
  13. 品管七大手法-7直方图(转载)
  14. nodejs能否替代java_nodejs能代替java吗?
  15. WordPress主题/两栏响应式博客主题:翠竹林CUI v2.06
  16. java mathematica_Java和Mathematica交互
  17. 「CSS畅想」何以解忧,美食足矣,用技术给好友开发了一个零食盲盒小游戏
  18. 人脸识别-闭集测试指标CMC曲线
  19. Latex安装失败问题
  20. Ansys Speos | 新型计算方法:使用 GPU 提升计算速率

热门文章

  1. 【第一个项目开发】创建domain包中的类
  2. 971. 翻转二叉树以匹配先序遍历
  3. Netlify前端自动化部署服务
  4. Unity_Shader中级篇_10_Unity Shader入门精要
  5. Java Web关键字填空
  6. @umijs/plugin-locale使用
  7. 阿里云服务器CPU Intel Xeon Platinum 8269CY和8163处理器区别
  8. HTAP 应该是一种需求而不是一款产品
  9. 使用iTunes与iTools导出微信聊天记录
  10. llvm libLLVMCore源码分析 05 - Instruction Class