题解 | #第二快/慢用时之差大于试卷时长一半的试卷#

第二快/慢用时之差大于试卷时长一半的试卷

https://www.nowcoder.com/practice/b1e2864271c14b63b0df9fc08b559166

// 临时表:目的是将答题时长做一个排序
with d as (
select 
	exam_id,
	time,
	ROW_NUMBER() over (partition by exam_id order by time desc) as asc_ranking, # 答题时长时间排序,求出第二快
	ROW_NUMBER() over (partition by exam_id order by time asc) as desc_ranking, # 求出第二慢
	duration,
	release_time
	from
(	
SELECT
	a.exam_id,
	TIMESTAMPDIFF( MINUTE, start_time, submit_time ) as time, // 关键一步:通过timestampdiff函数求时长
	duration,
	release_time
FROM
	exam_record a
	LEFT JOIN examination_info b ON a.exam_id = b.exam_id ) c)

select a.exam_id, a.duration, a.release_time from( 
select * from d where asc_ranking = 2) a left join  
(select * from d where desc_ranking = 2) b on a.exam_id = b.exam_id
where (a.time-b.time)>(a.duration/2) 
order by a.exam_id desc


全部评论

相关推荐

06-26 10:08
门头沟学院 C++
北京Golang实习,一个月4700,吃住都不报,公司位置在海淀。请问友友怎么看呢?如果要租房的话有什么建议吗
码农索隆:租房肯定是合租了,剩下的钱,差不多够正常吃饭了,看看能不能学到东西吧
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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