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 
  • 相关阅读:
    Oracle Database Instant Client 11g 32位和64位 安装包发布
    安装64位的oracle连接客户端
    Angularjs 与Ckeditor
    C# 通讯网关开发
    NServiceBus 入门2
    来自 Repository 的一丝线索,Domain Model 再重新设计
    jquery插件-自定义select
    微软Visual Studio "14" CTP 2 发布
    程序员喜欢怎样的职位描述?(转)
    kill命令"-1"这个参数到底是杀进程还是reload?(转)
  • 原文地址:https://www.cnblogs.com/zzlp/p/5109497.html
Copyright © 2011-2022 走看看