题解 | #获得积分最多的人(三)#

获得积分最多的人(三)

http://www.nowcoder.com/practice/d2b7e2a305a7499fb310dc82a43820e8

MySQL环境下一直成功运行,SQLite下不行(一会提示括号有语法错误,一会又运行成功,服了。。。)

SELECT b.user_id,user.name,b.n AS grade_sum
FROM (
SELECT a.user_id,SUM(a.num) AS n,DENSE_RANK() OVER(ORDER BY SUM(a.num) DESC) AS t
FROM (
SELECT g.user_id,
CASE
WHEN g.type='reduce' THEN g.grade_num*(-1)
ELSE g.grade_num
END
AS num
FROM grade_info AS g
) AS a
GROUP BY a.user_id
) AS b INNER JOIN user
WHERE b.user_id=user.id AND b.t=1
ORDER BY b.user_id

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务