题解 | #某乎问答最大连续回答问题天数大于等于3天的用户及其对应等级#

某乎问答最大连续回答问题天数大于等于3天的用户及其对应等级

http://www.nowcoder.com/practice/e080f8a685bc4af3b47749ca3310f1fd

题目有个要求是最大连续回答问题天数大于等于3天,那按题意应该取一次max,留max_dyas_cnt作为days_cnt。

事实上其实只选出days_cnt>=3也没关系,当然是属于最大连续回答问题天数大于等于3的用户,但是如果同一用户有两个这种连续记录那么就会重复(本题没有出现这种情况),那么days_cnt选取就出现矛盾,所以理解为max_days_cnt作为days_cnt以及选出该用户即可。

select author_id,author_level,max_days_cnt as days_cnt
from (
		select author_id,max(days_cnt) as max_days_cnt
		from (
					select author_id,
								 count(dt2) as days_cnt
					from (
								select author_id,
											 answer_date as dt1,
											 date_sub(answer_date,interval ranking day) as dt2
								from (
									select distinct author_id,
												 answer_date,
												 dense_rank() over(partition by author_id order by answer_date asc) as ranking
									from answer_tb
										 ) as t
							 ) as t1
					group by author_id,dt2
					) as t2
		group by author_id
		having max_days_cnt>=3
) as a
left join author_tb using(author_id)
order by author_id 
			 
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-13 19:30
化身华黑 今天询问对接人审批情况,结果被告知没HC了 云计算 
苦闷的柠檬精allin实习:主管面结束后hr每周保温一次,结果前几天和我说没hc了,我也化身华黑子了
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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