SELECT
user_id,
name,
grade_num
FROM(
    select 
    user_id,
    name,
    SUM(case when type = 'add' then grade_num
        when type = 'reduce' THEN -1*grade_num 
    END) AS grade_num,
    rank() over(order by SUM(case when type = 'add' then grade_num
        when type = 'reduce' THEN -1*grade_num 
    END) desc) AS T
    from 
    grade_info u1
    LEFT JOIN user U ON U.id = u1.user_id
    GROUP BY user_id,name
) AS GH 
WHERE GH.T = 1
全部评论

相关推荐

评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务