当前位置: 首页 > news >正文

Hive窗口函数-lead/lag函数

前面我们学习的first_value和last_value 取的是排序后的数据截止当前行的第一行数据和最后一行数据

Lag和Lead分析函数可以在一次查询中取出当前行后N行和前N行的数据,虽然可以不用排序,但是往往只有在排序的场景下取前面或者后面N 行数据才有意义

这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率

  • LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值

第一个参数为列名,第二个参数为往上第n行(默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)

  • LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值

第一个参数为列名,第二个参数为往下第n行(默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)

  • lead(col1,n,default)over(partiton by col2,order by col3):表示数据按照col2分区后,按照col3排序,然后在该条记录向后寻找n条数据(n一般为1),找到数据中的col1列。若为最后一条数据,则为default(默认为Null)。

  • lag(col1,n,default)over(partiton by col2,order by col3):表示数据按照col2分区后,按照col3排序,然后在该条记录向前寻找n条数据(n一般为1),找到数据中的col1列。若为最后一条数据,则为default(默认为Null)。

http://www.lryc.cn/news/23380.html

相关文章:

  • 2023JAVA面试题全集超全面超系统超实用!早做准备早上岸
  • FreeRTOS入门(05):事件组
  • 【API网关】Kong安装和基本操作
  • git --- stash用法
  • 【星海出品】VScode安装配置
  • docker 基础命令备忘录
  • 华为OD机试 - 创建二叉树(Java JS Python)
  • 服务案例|基于IT事件管理,提升业务连续性
  • 你说下HashMap的工作原理?
  • k8s 配置ingress 并做一个demo
  • 【手把手一起学习】(七) Altium Designer 20常用PCB设计规则
  • (01)Unity 中使用 HDRP
  • 使用cmake在win10编译yolov5+tensorRT+cuda+cudnn+protobuf代码进行混合编译
  • 《C++ Primer Plus》第17章:输入、输出和文件(7)
  • PGLBox 超大规模 GPU 端对端图学习训练框架正式发布
  • sql-labs-Less1
  • 又一个国内类ChatGPT模型?【秘塔科技上线自研LLM大模型「对话写作猫」】
  • 卷麻了,00后测试用例写的比我还好,简直无地自容......
  • 动态网页的核心——JSP
  • RK3588平台开发系列讲解(系统篇)init.d介绍
  • taobao.user.buyer.get( 查询买家信息API )
  • python学生信息管理系统
  • 【微信小程序】-- WXML 模板语法 - 条件渲染 -- wx:if hidden (十一)
  • 2023上半年软考,广州/东莞/深圳/江苏报班是明智的选择
  • C++修炼之练气期一层——命名空间
  • matplotlib综合学习
  • IIS .Net Core 413错误和Request body too large解决办法
  • Spring Boot数据访问—(springboot 多数据源)—官方原版
  • 高燃!GitHub上标星75k+超牛的Java面试突击版
  • grid宫格布局新手快捷上手-f