zoukankan      html  css  js  c++  java
  • SQL sum case when then else【转】

    数据库 t

    表     b
    表内容
           Id        Name      胜负
           1          张三     胜
           2          李四     胜
           3          张三     胜
           4          张三     负
           5          王五     胜
           6          赵六     负
    要求显示谁胜了几场
    select Name, case 胜负 when '胜' then 1 else 0 as SF end from b
    显示的内容为
            Name    SF
            张三    1
            李四    1
            张三    1
            张三    0
            王五    1
            赵六    0
    把数字进行加法运算需要用到 sum  是根据Name 合并组的
    select Name,sum(case 胜负 when '胜' then 1 else 0 end) as '胜利的次数' from b group by Name
     
    显示的内容为
          Name              胜利的次数
          张三                2
          李四                1
          王五                1
          赵六                0
    如果要想把胜利几场和失败几场都显示出来
    select Name,sum(case 胜负 when '胜' then 1 else 0 end) as '胜利的次数',sum(case 胜负 when '负' then 1 else 0 end)as '失败的次数' from b group by Name
    显示的是
           Name               胜利的次数            失败的次数
           张三                 2                        1
           李四                 1                        0
           王五                 1                        0  
           赵六                 0                        1 
  • 相关阅读:
    Asp.net web Api源码分析HttpServer的创建
    asp.net mvc源码分析DefaultModelBinder 集合绑定
    asp.net mvc RouteCollection的RouteExistingFiles属性理解
    Asp.net web Api源码分析HttpResponseMessage
    asp.net mvc源码分析RenderAction和RenderPartial
    AcWing 1022. 宠物小精灵之收服
    AcWing 423. 采药
    AcWing 272. 最长公共上升子序列
    算法浅谈之迭代加深
    AcWing 1023. 买书
  • 原文地址:https://www.cnblogs.com/zzlp/p/5109497.html
Copyright © 2011-2022 走看看