题解 | #获得积分最多的人(三)#

获得积分最多的人(三)

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

SELECT distinct id, name, score FROM
(SELECT id, name, final_score as score, DENSE_RANK() over(order by final_score DESC) as rk FROM
(SELECT id, name, jf+kf_new as final_score from(
SELECT x.id, x.name, jf, IFNULL(kf,0) as kf_new FROM
(SELECT id, name, sum(grade_num) over(partition by user_id) as jf from user
join grade_info on user.id = grade_info.user_id
WHERE type = 'add') x
left JOIN
(SELECT id, name, -sum(grade_num) over(partition by user_id) as kf from user
join grade_info on user.id = grade_info.user_id
WHERE type = 'reduce') y
ON x.id = y.id) fin) fin_new) a
WHERE rk = 1
order BY id

全部评论

相关推荐

舂锋:不能投什么岗都用一份简历,一般都是要看企业的岗位需求来写职业技能或者是项目经历,跟岗位相关的就写多一点。
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhang:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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