# 方法一 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 # )