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

Hive开窗函数根据特定条件取上一条最接近时间的数据(根据条件取窗口函数的值)

一、Hive开窗函数根据特定条件取上一条最接近时间的数据(单个开窗函数,实际取两个窗口)

针对于就诊业务,一次就诊,多个处方,处方结算时间可能不一致,然后会有多个AI助手推荐用药,会多有多条推荐日志,且推荐日志时间和处方结算时间不一致,日志仅能关联到就诊级别的粒度,需要找到处方结算前一条的推荐记录,因此针对一次就诊开窗函数,只能开一个时间窗口,但是有可能有两个处方,所以需要找到两个处方前一条推荐。所以需要根据hive的窗口函数再加条件,实现一个窗口,筛选两条数据出来。

select
t1.*
,case when  substring(t1.gmt_created,1,19)=substring(t1.gmt_created_max,1,19) then 1 else 0 end as use_flagfrom (
select 
t1.*
,max(casewhen t1.log_type='2-2' and  substring(t1.gmt_created, 1, 19) <= substring(t4.expense_date, 1, 19) then substring(t1.gmt_created, 1, 19)end) over(partition by t1.visitCode, t4.expense_date) as gmt_created_max
from wedw_dw.unfold_chdisease_gpt_opt_log_df t1
left join (select  visit_no
,mi_card_no
,expense_date
from  wedw_dw.doris_yyf_styy_txynhis_record_settle_bill_detail_df_tmp 
group by visit_no
,mi_card_no
,expense_date
)   t2 on t1.visitCode=t2.visit_no and t1.patientIdNo=t2.mi_card_no 
) t1 
http://www.lryc.cn/news/232117.html

相关文章:

  • 指针与函数
  • GBase8a-GDCA-第二次阶段测试
  • Go 理解零值
  • SQL编写规范【干货】
  • 2.5 Windows驱动开发:DRIVER_OBJECT对象结构
  • [ubuntu]ubuntu上安装jdk1.8教程
  • 金蝶云星空其他出库单保存提示序列号不一致
  • FBI:皇家勒索软件要求350名受害者支付2.75亿美元
  • Layout工程师们--Allegro X AI实现pcb自动布局布线
  • Hive入门--学习笔记
  • 【nlp】1文本预处理总括目录(附各章节链接)
  • 《增长黑客》思维导图
  • oracle-buffer cache
  • 数据可视化—D3(Data Driven Documents)
  • ±15kV ESD 保护、3V-5.5V 供电、真 RS-232 收发器MS2232/MS2232T
  • 企业版远程软件推荐
  • 独孤思维:没学会走就要跑,你只能一辈子是穷b
  • 鸿蒙LiteOs读源码教程+向LiteOS中添加一个系统调用
  • 美国站群服务器IP如何设置分配?
  • R语言——taxize(第二部分)
  • Postman+Newman+Jenkins实现接口测试持续集成
  • C#WPF中的实现读取和写入文件的几种方式
  • 如何利用自动发现将现网的进程纳入到监控系统中?
  • 英语学习(过去篇)
  • excel中通过ROW函数返回引用的行号
  • spring学习笔记-IOC,AOP,事务管理
  • MYSQL中的触发器TRIGGER
  • 用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系
  • 【JavaEE】Servlet API 详解(HttpServletRequest类)
  • HTML页面的全屏显示及退出全屏案例