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
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
「求助大佬帮看看这道算法题吧!」牛客每天有很多用户刷题,发帖,点赞,点踩等等,这些都会记录相应的积分。 有一个用户表(user),简况如下: id name 1 tm 2 wwy 3 zk 4...
https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fpractice%2Fd2b7e2a305a7499fb310dc82a43820e8
全部评论
相关推荐