hive sql—开窗函数—累积求和和滑动求和

这篇具有很好参考价值的文章主要介绍了hive sql—开窗函数—累积求和和滑动求和。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、数据介绍

数据集有三列数据,姓名、月份和数量:

hive sql—开窗函数—累积求和和滑动求和

图1

2、累积求和

使用sum()函数和over()来实现,如下:

sum(需要求和的列) over(partition by 分组列 order by 排序列 asc/desc)
具体如下:
select
*,
sum(cnt) over(partition by name order by month) as total_cnt
from
table

结果如下:同一个name,后一个月份都是前几个月份的累加和

hive sql—开窗函数—累积求和和滑动求和

图2

3、滑动求和

需要稍微骚一点的操作,加上一个限制条件:

sum(需要求和的列) over(partition by 分组列 order by 排序列 ROWS between 数字 preceding and 数字 following)
距离:统计最近三个月的cnt和,包含当前月
select 
*,
sum(cnt) over(partition by name order by month ROWS between 2 preceding and 0 following) as total_cnt
from table_1;

数字:可正可零可负,正往前,负向后;preceding:向前几行;following:向后几行。三个参数交叉组合。

结果如下:其他的都类似,尝试几下就好

hive sql—开窗函数—累积求和和滑动求和

图3文章来源地址https://www.toymoban.com/news/detail-515280.html

到了这里,关于hive sql—开窗函数—累积求和和滑动求和的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL】MySQL中的窗口函数(开窗函数)

    窗口函数是 MYSQL8.0 新增的 聚合函数: 多行变一行,常见的sum,count,max,min 窗口函数: 行数不变,常见的row_number,rank 语法格式: 窗口函数(表达式) over (partition by … order by … frame_clause) partition by是分区,类似于group by,如去掉相当于对所有数据进行计算 order by排序 frame_c

    2024年02月07日
    浏览(36)
  • SQL 的window开窗函数简单使用

    开窗函数不论是spark的还是clickhouse的在日常的查询中是一个很常用的功能,特别是他想要解决的问题和group by的很类似,这两种容易引起混淆,本文就简单的描述下开窗函数的简单用法 首先窗口函数和group by是完全没有交集的,他们完全没有任何关系,group by聚合数据后会导致

    2024年02月09日
    浏览(32)
  • SQL_求店铺的topN && 开窗函数数据倾斜

    某互联网大厂的一道比较有深度的面试题, 参考文章 : hive|性能优化|_Hive ROW_NUMBER TopN 性能优化 有50W个 店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志, 访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop,数据如下:

    2024年02月15日
    浏览(35)
  • 44、Flink之module模块介绍及使用示例和Flink SQL使用hive内置函数及自定义函数详细示例--网上有些说法好像是错误的

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月09日
    浏览(30)
  • 【SQL开发实战技巧】系列(二十七):数仓报表场景☞通过对移动范围进行聚集来详解分析函数开窗原理以及如何一个SQL打印九九乘法表

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月09日
    浏览(38)
  • 【大数据Hive3.x数仓开发】窗口函数案例:连续N次登录的用户;级联累加求和;分组TopN

    对窗口函数的讲解part见:【大数据Hive3.x数仓开发】函数–窗口函数 自连接过滤实现 连续两天登陆的用户ID: 窗口函数lead()实现 功能:用于从当前数据中基于当前行的数据向后偏移取值 语法: lead(colName,N,defautValue) colName:取哪一列的值 N:向后偏移N行 defaultValue:如果取不到返回

    2023年04月17日
    浏览(25)
  • FPGA:计算滑动求和----信号检测计算信号功率

    FPGA:计算滑动求和----信号检测计算信号功率 在进行简单信号检测过程中,需要计算信号的能量,这时候需要用到滑动求和的计算过程。 这里记录如何利用Verilog编写滑动求和过程。 思路:滑动求和的过程需要按照滑动窗口的大小,依次向后进行滑动求和; 从任务出发:输入

    2024年02月11日
    浏览(24)
  • Hive Sql 大全(hive函数,hive表)

    本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一、DDL语句(数据定义语句): 对数据库的操作:包含创建、修改数据库 对数据表的操作:分为内部表及外部表,分区表和分桶表 二、DQL语句(数据查询语句): 单表查询、关联查询 hive函数

    2024年02月19日
    浏览(36)
  • 概率密度函数 累积分布函数

    概率密度函数:是指想要求得面积的图形表达式,注意只是表达式,要乘上区间才是概率,所以概率密度并不是概率,而是概率的分布程度。 为什么要引入概率密度,可能是因为连续变量,无法求出某个变量的概率,所以引入概率密度,概率密度 * 变量区间 = 概率。 累积分

    2024年02月11日
    浏览(38)
  • Hive SQL 函数高阶应用场景

    HIVE作为数据仓库处理常用工具,如同RDBMS关系型数据库中标准SQL语法一样,Hive SQL也内置了不少系统函数,满足于用户在不同场景下的数据分析需求,以提高开发SQL数据分析的效率。 我们可以使用show functions查看当下版本支持的函数,并且可以通过describe function extended funcnam

    2024年02月06日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包