淮瑾 2023-03-22 20:27 采纳率: 0%
浏览 23

关于group by后的sum函数与case结合问题

如题: 关于group by后的sum函数与case结合问题

img

我的结果:

img

使用group by 后面使用sum 再使用case是什么样的执行流程? 是分组后sum函数针对每个类进行case判断吗,我自己试出来的,自己也不太理解具体啥意思。还请解答!

  • 写回答

2条回答 默认 最新

  • 文盲老顾 新星创作者: 信息安全技术领域 2023-03-22 20:33
    关注

    如果确定是 sqlserver 的话,列转行用 pivot,不用 group 之类的东西

    
    with t as (
        select 1 autoid,'a' name,'第1' season,10 score
        union all select 2,'a','第2',20
        union all select 3,'a','第3',15
        union all select 4,'b','第1',7
        union all select 5,'b','第2',12
        union all select 6,'b','第3',11
        union all select 7,'c','第1',17
        union all select 8,'c','第2',12
        union all select 9,'c','第3',15
        union all select 10,'d','第1',6
        union all select 11,'d','第2',18
        union all select 12,'d','第3',7
    )
    select * from (
       select name,season,score from t
    ) a
    pivot(max(score) for season in (第1,第2,第3)) p
    

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月22日