select
b.id
,b.name
,c.总积分
from
(select
user_id
,总积分
,dense_rank()over(order by 总积分 desc) as de_rk
from
(select
user_id
,sum(if(type='add',+grade_num,-grade_num)) as 总积分
from grade_info
group by 1) a
)c
join user b
on c.user_id=b.id
where de_rk=1
group by 1,2
order by b.id;



京公网安备 11010502036488号