题解 | #获得积分最多的人(一)#
获得积分最多的人(一)
http://www.nowcoder.com/practice/1bfe3870034e4efeb4b4aa6711316c3b
# 方法一 select gs.name , max(`grade_sum`) from ( SELECT u.name , SUM(g.grade_num) as `grade_sum` FROM user as u inner join grade_info as g on u.id = g.user_id group by g.user_id ) as gs group by name ORDER BY `grade_sum` desc #加了group by 就在分好的每个组内排序 limit 0,1 # 方法2:最蠢的方法 # select gs.name , max(`grade_sum`) # from # ( # SELECT u.name , SUM(g.grade_num) as `grade_sum` FROM # user as u inner join grade_info as g on u.id = g.user_id # group by g.user_id # ) as gs # where `grade_sum` = # ( # select max(`grade_sum`) # from # ( # SELECT u.name , SUM(g.grade_num) as `grade_sum` FROM # user as u inner join grade_info as g on u.id = g.user_id # group by g.user_id # ) as gs # )