hivesql连续日期统计最大逾期/未逾期案例
1、虚表(测试表和数据) create test_table as
select a.cust_no, a.r_date, a.yqts from (
select '123' as cust_no, '20231101' as r_date, 0 as yqts
union all
select '123' as cust_no, '20231102' as r_date, 1 as yqts
union all
select '123' as cust_no, '20231103' as r_date, 2 as yqts
union all
select '123' as cust_no, '20231104' as r_date, 3 as yqts
union all
select '123' as cust_no, '20231105' as r_date, 0 as yqts
union all
select '123' as cust_no, '20231106' as r_date, 0 as yqts
union all
select '123' as cust_no, '20231107' as r_date, 1 as yqts
) a
2、加入有表test_table,数据如上,0标识未逾期,1标识逾期,求连续最大无逾期和逾期的天数,以上数据可直接看出最大连续逾期天数为3、未逾期未2。
3、首先将测试数据排序,让数据连续
select a.cust_no, a.r_date, a.yqts from test_table a where 1=1 order by a.cust_no, a.r_date asc
4、将数据分组并给是否逾期打上标识1逾期,2未逾期,多行转一行
select tx.cust_no, count(distinct tx.r_date) as sum_ctn, concat_ws('',collection_list(case when cast(tx.yqts as double) > 0 then '1' else '2' end)) as sfflag from (
select a.cust_no, a.r_date, a.yqts from test_table a where 1=1 order by a.cust_no, a.r_date asc
) tx
执行结果:
cust_no sum_ctn sfflag
123 7 2111221
5、使用正则表达式分别替换,2111221改字符串中包含逾期和未逾期,将逾期1*都用A替换掉(同时也是分割符),剩下就是未逾期的,逾期的同理
select ty.cust_no, ty.sum_ctn, regexp_replace(ty.sfflag, '\2+', 'A') as yqflag, regexp_replace(ty.sfflag, '\1+', 'A') as wyqflag from (
'123' as cust_no 7 as sum_ctn '2111221' as sfflag
) ty
执行结果:
cust_no sum_ctn yqflag wyqflag
123 7 A111A1 2A22A
6、使用炸裂函数explode结合lateral view将数据拆分未多行,使用一次lateral view会生成一次虚表
select tz.cust_no, max(sum_ctn) as sum_ctn, max(length(yqlength)) as yqlength, max(length(wyqlength)) as wyqlength from (
123 as cust_no 7 as sum_ctn A111A1 as yqflag 2A22A as wyqflag
) tz
lateral view explode(split(yqflag,'A')) tb1 as yqlength
lateral view explode(split(wyqflag,'A')) tb2 as wyqlength
group by tz.cust_no
相关文章:
hivesql连续日期统计最大逾期/未逾期案例
1、虚表(测试表和数据) create test_table as select a.cust_no, a.r_date, a.yqts from ( select 123 as cust_no, 20231101 as r_date, 0 as yqts union all select 123 as cust_no, 20231102 as r_date, 1 as yqts union all select 123 as cust_no, 20231103 as r_d…...
基于STM32的无线通信系统设计与实现
【引言】 随着物联网的迅速发展,无线通信技术逐渐成为现代通信领域的关键技术之一。STM32作为一款广受欢迎的微控制器,具有丰富的外设资源和强大的计算能力,在无线通信系统设计中具有广泛的应用。本文将介绍如何基于STM32实现一个简单的无线通…...
kubernetes--pod详解
目录 一、pod简介: 1. Pod基础概念: 2. Kubrenetes集群中Pod的两种使用方式: 3. pod资源中包含的容器: 4. pause容器的两个核心功能: 5. Kubernetes中使用pause容器概念的用意: 二、pod的分类࿱…...
WPF提供了哪些不同类型的画刷
在WPF中,画刷(Brush)用于填充图形对象(如形状、控件的背景和前景)的颜色和样式。WPF提供了几种不同类型的画刷: SolidColorBrush:这是最简单的画刷,它提供了一个单一的、固定的颜色。…...
STM32与ZigBee技术在智能家居无线通信中的应用研究
一、引言 智能家居系统是利用物联网技术将家庭各种设备进行互联互通,实现智能化控制和管理的系统。在智能家居系统中,无线通信技术起着至关重要的作用,而STM32微控制器和ZigBee技术则是实现智能家居无线通信的关键技术。本文将对STM32与ZigB…...
【Apache Doris】审计日志插件 | 快速体验
【Apache Doris】审计日志插件 | 快速体验 一、 环境信息1.1 硬件信息1.2 软件信息 二、 审计日志插件介绍三、 快速 体验3.1 AuditLoader 配置3.1.1 下载 Audit Loader 插件3.1.2 解压安装包3.1.3 修改 plugin.conf 3.2 创建库表3.3 初始化3.4 验证 一、 环境信息 1.1 硬件信…...
Web安全:Vulfocus 靶场搭建.(漏洞集成平台)
Web安全:Vulfocus 靶场搭建.(漏洞集成平台) Vulfocus 是一个包含了多种漏洞靶场的镜像。每个靶场都有具体的漏洞环境和攻击点。Vulfocus 的靶场包括了 Web 安全漏洞、系统安全漏洞、网络安全漏洞、密码学漏洞等多种类型。通关这个靶场我们可以…...
Go ZIP压缩文件读写操作
创建zip文件 golang提供了archive/zip包来处理zip压缩文件,下面通过一个简单的示例来展示golang如何创建zip压缩文件: func createZip(filename string) {// 缓存压缩文件内容buf : new(bytes.Buffer)// 创建zipwriter : zip.NewWriter(buf)defer writ…...
全堆栈图像生成器专为Multiverse后端Bootcamp设计,结合了React、Firebase和Hugging Face API
目录 1 Full Stack Image Generator 1.1 Features 1.2 Technologies Used 1.3 Setup Instructions 1.4 Contributing 1.5 Acknowledgements Full Stack Image Generator This is a full-stack image generator built as a part of the Multiverse Backend Bootcam…...
【C#学习】button:只显示图片
第一步:设置按钮背景图片,并且图片随按钮大小变化 第二步:设置按钮使之只显示图片 button1.FlatStyle FlatStyle.Flat;//stylebutton1.ForeColor Color.Transparent;//前景button1.BackColor Color.Transparent;//去背景button1.FlatAppe…...
我招基础初级运维实习生的面试题
不考虑对错,只要能答上来60%可面试。 如果出现的“不知道”、“不清楚”、“没用过”太多,就pass。 Linux发行版 说一些知道的Linux系统 centos\ubuntu\redhat\ubuntu\debian\kylin LInux基础命令 在Linux上如何查看IP?说一个用过的。 i…...
vue实现浏览器关闭或刷新弹窗提示(beforeunload/unload)
vue实现浏览器关闭或刷新弹窗提示 一、推荐代码二、错误情况说明1.在beforeunload事件里面加alert2.在一个没有焦点的 iframe 或 frame 浏览器会阻止 beforeunload 弹窗3.无法触发destroyed/beforedestroyed/deactivated4.能触发beforeRouteEnter,但不能触发beforeR…...
Zookeeper学习笔记(1)—— 基础知识
Zookeeper概述 Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受…...
mp4视频批量截取!!!
mp4视频批量截取!!! 问题:如果我们想截取一个mp4视频中的多个片段,一个一个截会很麻烦! 可以将想要截取的开始时间和结束时间保存到 excel表 中,进行批量截取。 1、对一个视频,记…...
jQuery - AJAX get() 和 post() 方法
jQuery - AJAX get() 和 post() 方法 jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。 HTTP 请求:GET vs POST 两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。 GET - 从指定的资源请求数据 POST - 向…...
设计模式(4)-行为型模式
行为型模式 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间…...
JavaScript概述
一、JavaScript简介: JavaScript是互联网上流行的脚本语言,可用于HTML和web,可广泛应用于服务器、PC、笔记本、平板电脑和智能手机等设备。 JavaScript是一种轻量级的编程语言,可插入HTML页面的编程代码,插入HTML页面后…...
Solidity案例详解(四)投票智能合约
该合约为原创合约,功能要求如下 在⼀定时间能进⾏投票超过时间投票截⽌,并投赞同票超过50%则为通过。 使⽤safeMath库,使⽤Owner 第三⽅库拥有参与投票权的⽤户在创建合约时确定Voter 结构 要有时间戳、投票是否同意等;struct 结构…...
Linux系统编程——进程中vfork函数
函数原型 pid_t vfork(void);//pid_t是无符号整型 所需头文件 #include <sys/types.h> #include <unistd.h> 功能 vfork() 函数和 fork() 函数一样都是在已有的进程中创建一个新的进程,但它们创建的子进程是有区别的。 返回值 成功子进程中返回 …...
敏感数据是什么?包含哪些?如何保障安全?
最近看到不少小伙伴在问,敏感数据是什么?包含哪些?如何保障安全?这里我们小编就给大家一一解答一下,仅供参考哦! 敏感数据是什么? 敏感数据,是指泄漏后可能会给社会或个人带来严重危…...
保姆级教程:在CentOS 7上用达梦8搭建DCA练习环境(附ulimit、VNC、ODBC全配置)
达梦8 DCA认证实战:CentOS 7环境搭建与调优全指南 在国产数据库技术快速发展的今天,达梦数据库作为核心产品之一,其DCA认证已成为众多从业者提升竞争力的重要选择。与理论为主的认证不同,DCA更注重实际操作能力,而一个…...
Godot中型项目工程化实践:目录规范、资源引用与状态管理
1. 这不是续集,而是项目落地的分水岭“Godot 游戏引擎项目(二)”——看到这个标题,很多人第一反应是:“哦,上一篇讲了环境搭建和Hello World,这篇该讲节点树和信号了?”但我在带三个…...
Unity动态自然系统:Forest Environment-Dynamic Nature深度解析
1. 这不是“贴图堆砌”,而是自然系统级建模:Forest Environment-Dynamic Nature 的真实定位你有没有试过在Unity里拖进几棵树、铺点草、加个天空盒,然后发现场景像一张静止的风景明信片——风不动、叶不摇、雨不落、雾不散?我做过…...
解决方法:庐山派K230接串口没识别到端口问题
一、插入usb转串口工具之前二、插入usb转串口工具之后三、解决方法说明:🔍 核心原因:USB Serial 设备,没有被识别为 COM 口你现在看到的 USB Serial,说明开发板已经正常启动了,USB 也被电脑识别到了&#x…...
量子机器学习与傅里叶分析:革新期权定价的混合计算范式
1. 项目概述:当量子机器学习遇见金融定价在金融工程的核心地带,期权定价一直是个计算密集型的硬骨头。传统的蒙特卡洛模拟虽然通用,但为了达到足够的精度,动辄需要百万甚至千万次的路径模拟,计算成本高昂。近年来&…...
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包 【免费下载链接】BioAge Biological Age Calculations Using Several Biomarker Algorithms 项目地址: https://gitcode.com/gh_mirrors/bi/BioAge BioAge生物年龄计算工具包是一款基于R语言开发的强…...
Win11Debloat:Windows系统精简与隐私保护的专业解决方案
Win11Debloat:Windows系统精简与隐私保护的专业解决方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …...
为内部知识库问答机器人集成taotoken多模型能力的架构设计
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部知识库问答机器人集成taotoken多模型能力的架构设计 应用场景类,探讨为企业内部知识库构建智能问答机器人时&…...
深入解析NxDumpTool:Switch游戏文件系统提取的终极指南 [特殊字符]
深入解析NxDumpTool:Switch游戏文件系统提取的终极指南 🎮 【免费下载链接】nxdumptool Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles. 项目地址: https://gitcode.com…...
专业构建现代化英雄联盟智能助手:基于LCU API的完整实战指南
专业构建现代化英雄联盟智能助手:基于LCU API的完整实战指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的开源智能助手,专为英雄联盟…...
