#rank
select t.user_id , name,grade_num
from
(
select user_id , grade_num ,rank()over(order by grade_num desc ) as rn
from (
select user_id,
sum(case when type ='reduce' then -1*grade_num else grade_num end ) as grade_num
from grade_info
group by user_id
)t
)t inner join user u on t.user_id = u.id
where rn =1



京公网安备 11010502036488号