数分面试题-SQL常见面试题型1

文章介绍了如何使用SQL解决连续时间问题,如计算最近一周活跃天数、最大连续活跃天数和连续签到天数。同时,讨论了时间间隔问题和SQL窗口分析函数在日志分析中的应用,如计算用户页面停留时长。此外,还提到了行/列转换在数据整理中的方法,包括Pivot和Unpivot操作。最后,简单定义了关系型数据表和数据库的概念。

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

1、连续时间问题

在这里插入图片描述

1.1 最近一周内的活跃天数

最近一周:timestampdiff(day,time,now())<=7
group by 可以起到去重的作用

select user_id,count(1)
from
	(select user_id,date from t where timestampdiff(day,time,now())<=7
	group by user_id,date)
group by user_id
1.2 每个用户一周内最大连续活跃天数

思路:排序-减去-- 计数
date_sub(日期,天数)

select user_id,max(count(diff))
from
(select date ,user_id,date_sub(date,rank) as diff
from
	(select date ,user_id ,row_number()over
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值