with t1 as (
select a.name,
(case when b.type = 'add' then b.grade_num else -b.grade_num end ) as grade_change
from grade_info as b
left join user as a
on a.id = b.user_id
)
select name, sum(grade_change) as grade_num
from t1
group by name
order by grade_num DESC
limit 1;

京公网安备 11010502036488号