获得积分最多的人(三)

获得积分最多的人(三)

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

sum嵌套if/iif/case...when计算总积分,需要多次嵌套复用子查询时,可以创建临时表,提高执行效率和代码可读性,代码如下:

with gs AS
    (select
     u.id, u.name, sum(case when gi.type='add' then gi.grade_num else -gi.grade_num end) grade_sum
    from user u , grade_info gi
    where u.id = gi.user_id
    group by 1,2 
    )
select * from gs
where grade_sum = (select max(grade_sum) from gs)
order by id ;
全部评论
请问,group by 1,2是啥意思呀
点赞 回复 分享
发布于 2021-04-12 20:02
大概就是group by user_id,name,这里的应该只要group by user_id,也就是group by 1就行吧
点赞 回复 分享
发布于 2021-07-13 23:23

相关推荐

牛可乐121381:卖课的
点赞 评论 收藏
分享
评论
26
2
分享

创作者周榜

更多
牛客网
牛客企业服务