HQL打卡第1题: 统计每个员工的最高连续打卡次数

这篇博客详细介绍了如何使用HQL解决统计每个员工最高连续打卡次数的问题,通过创建表格、加载数据,然后逐步筛选、排序,并利用rank()函数和date_sub()函数计算连续打卡天数,最后通过分组求最大值来得出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

统计每个员工的最高连续打卡次数

1. 创建表格语句

create table hivesql_practice_01(
	uid int,
	tdate varchar(20),
	is_flag int
)
row format
delimited fields terminated by '\t';

2. 表格数据

uid tdate isflag
1 2020-2-1 1
1 2020-2-2 0
1 2020-2-3 1
1 2020-2-4 1
1 2020-2-5 0
1 2020-2-6 1
1 2020-2-7 1
1 2020-2-8 1
2 2020-2-1 1
2 2020-2-2 0
2 2020-2-3 1
2 2020-2-4 1
2 2020-2-5 0
2 2020-2-6 1
2 2020-2-7 1
2 2020-2-8 0

3. 字段解释

字段英文名 字段中文名 字段解释
uid 用户id
tdate 统计时间
is_flag 打卡标志 is_flag = 1表示打卡,is_flag = 0表示未打卡

4. Hive 加载数据语句

vim /root/bin/hive_data/hivesql_practice_01

写入数据的时候格式如下,每一行用 “\t” 进行分隔

1	2020-2-1	1
1	2020-2-2	0
1	2020-2-3	1
1	2020-2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值