题解 | #考试分数(五)#

考试分数(五)

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

SELECT t.id,t.job,t.score,t.rw t_rank
FROM (
	SELECT *,
	ROW_NUMBER() over(PARTITION by job ORDER BY score DESC) rw
	FROM grade 
) t JOIN (
	SELECT job,
	FLOOR((1 + COUNT(*)) / 2) low,
	CEIL((1 + COUNT(*)) / 2) high
	FROM grade
	GROUP BY job
) t1 ON t.job = t1.job 
WHERE t.rw BETWEEN t1.low AND t1.high
ORDER BY t.id;

全部评论

相关推荐

牛客383479252号:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
WillingLing:查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务