题解 | #连续两次作答试卷的最大时间窗#

连续两次作答试卷的最大时间窗

https://www.nowcoder.com/practice/9dcc0eebb8394e79ada1d4d4e979d73c

# 2021年 至少有两天作答过  连续两次做大试卷的最大时间窗days_window
# 根据历史期,在days_window中平均做几套
# 解题重点在于LEAD的用法,当需要比较两个先后经历的时间时,考虑LEAD、LAG

SELECT 
	uid,
    MAX(DATEDIFF(next_start_time, start_time) + 1) AS days_window,
	ROUND(COUNT(*)/(DATEDIFF(MAX(start_time), MIN(start_time)) + 1) * MAX(DATEDIFF(next_start_time, start_time) + 1), 2) AS avg_exam_cnt
FROM(
	SELECT 
		uid, start_time,
		LEAD(start_time, 1, NULL) OVER(
										PARTITION BY uid
										ORDER BY start_time
										) AS next_start_time
	FROM exam_record                                    
	WHERE YEAR(start_time) = 2021
	) AS new_table1
GROUP BY uid
HAVING days_window > 1
ORDER BY days_window DESC, avg_exam_cnt DESC
    

全部评论

相关推荐

点赞 评论 收藏
分享
说又不是不能用的斑马...:把中学和居住地删了,很多私企歧视北京人。别写你炒股,hr觉得你炒股赚的比工资高多了,很有可能干不了几天就跑路专职炒股了。只要你不是找金融行业的,这就是个超级减分项
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务