首页 > 其他分享 >Hive 刷题——查询每个用户登录日期的最大空档期

Hive 刷题——查询每个用户登录日期的最大空档期

时间:2023-02-01 11:23:44浏览次数:39  
标签:10 00 Hive 档期 user date login id 刷题

需求描述

从登录明细表(user_login_detail)中查询每个用户两个登录日期(以login_ts为准)之间的最大的空档期。统计最大空档期时,用户最后一次登录至今的空档也要考虑在内,假设今天为2021-10-10。 期望结果如下:
user_id   (用户id) max_diff   (最大空档期)
101 10
102 9
103 10
104 9
105 6
106 5
107 10
108 4
109 10
1010 12
需要用到的表: 用户登录明细表:user_login_detail
user_id(用户id) ip_address(ip地址) login_ts(登录时间) logout_ts(登出时间)
101 180.149.130.161 2021-09-21 08:00:00 2021-09-27 08:30:00
102 120.245.11.2 2021-09-22 09:00:00 2021-09-27 09:30:00
103 27.184.97.3 2021-09-23 10:00:00 2021-09-27 10:30:00

参考sql

select user_id, max(datediff(next_login_date, login_date)) max_diff
from (select user_id,
             login_date,
             lead(login_date, 1, date('2021-10-10')) over (partition by user_id order by login_date) next_login_date
      from (select user_id, date(login_ts) login_date
            from user_login_detail
            group by user_id, date(login_ts)) t) t
group by user_id;

标签:10,00,Hive,档期,user,date,login,id,刷题
From: https://www.cnblogs.com/wdh01/p/17041058.html

相关文章

  • hive优化
    hive优化1Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT*FROMemployees;在这种情况下,Hive可以简单地读取employee对应的存储目......
  • hive架构原理
    Hive架构原理1)用户接口:ClientCLI(command-lineinterface)、JDBC/ODBC(jdbc访问hive)、WEBUI(浏览器访问hive)2)元数据:Metastore元数据包括:表名、表所属的数据库(默认是default)、......
  • hive类型转化
    hive类型转化Hive的原子数据类型是可以进行隐式转换的,类似于Java的类型转换,例如某表达式使用INT类型,TINYINT会自动转换为INT类型,但是Hive不会进行反向转化,例如,某表达式使用T......
  • Hive 刷题——统计每日商品1和商品2销量的差值
    需求描述从订单明细表(order_detail)中统计每天商品1和商品2销量(件数)的差值(商品1销量-商品2销量)期望结果如下:create_date diff 2020-10-08-24......
  • 算法刷题 Day 28 | ● 93.复原IP地址 ● 78.子集 ● 90.子集II
    详细布置93.复原IP地址本期本来是很有难度的,不过大家做完分割回文串之后,本题就容易很多了题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8......
  • hive自增ID
    自增列的生成 over()里不带排序或orderby1是一样的效果 selectrow_number()over()asid,a1.id,relationwords,relation_wordsfromods.ods_wpt_management_se......
  • 算法刷题 Day 27 | ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串
    今日任务组合总和组合总和II分割回文串详细布置39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/......
  • 算法刷题 Day 25 | 216.组合总和III 17.电话号码的字母组合
    今日内容:组合总和III电话号码的字母组合详细布置216.组合总和III如果把组合问题理解了,本题就容易一些了。题目链接/文章讲解:https://programmercarl.com/......
  • 算法刷题 Day 24 | 回溯的理论基础 & 77. 组合
    今日内容:理论基础77.组合详细布置理论基础其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解......
  • Hive 刷题——订单金额趋势分析
    需求描述查询截止每天的最近3天内的订单金额总和以及订单金额日平均值,保留两位小数,四舍五入。期望结果如下:create_date (日期)total_3d<decimal(16,2)>(......