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

获得积分最多的人(三)

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

积分有增有减,可以加个if或case when 进行判断,并赋予负值;求出最高的积分可以找出最大积分进行对比找出,也可以利用开窗函数。

with gs as
(select a.id, a.name,
sum(if(b.type = 'reduce', -b.grade_num, b.grade_num)) as sum_grade
from user a left join grade_info b 
on a.id = b.user_id
group by a.id)
select gs.id as id, gs.name as name, gs.sum_grade as grade_sum from gs 
where sum_grade = (select max(sum_grade) from gs)
order by id;
全部评论

相关推荐

不知道怎么取名字_:两个方向 1.简历针对性准备下 2.面试前也需要准备的 主要还是要看各个公司需求,看公司行业和岗位描述,那里面已经写了对技术的需求,一份简历,不可能和所有嵌入式岗位都匹配的
投递北京经纬恒润科技股份有限公司等公司6个岗位
点赞 评论 收藏
分享
11-23 15:14
中原工学院 Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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