SQL case when 语句学习

刚刚同时跑来问我一个sql语句顿时,一看我有点蒙,因为之前没有用过,所以在这里写下学习笔记加深印象。
语法如下:

CASE value WHEN [compare-value01] THEN result01 [WHEN [compare-value02] THEN result01 ...] [ELSE result] END

此sql语句我认为有点像条件语句。
意思是:
    条件一,当字段value的值等于"compare-value"时,赋值为result01;
    条件二,当字段value的值等于"compare-value"时,赋值为result02;
    ...
    条件N,,赋值为result02;
    结束

这么说肯定感觉很抽象,上实例,一看就明白了。

usersa表及数据如下图

165826_EIfi_225084.jpg

样例1查询SQL

select *,
        (CASE username WHEN "李四" THEN "四"
                        WHEN "张三"  THEN "三"
                        ELSE 'more' END 
         )as "Column"
FROM usersa;

查询结果图

170622_ahgz_225084.jpg

样例2查询SQL

select 
        sex,
        count(case username when "李四" then "李四" end) as "李四", 
        count(case username when "张三" then "张三" end) as "张三" 
from usersa 
group by sex;

查询结果图

170107_TcRJ_225084.jpg

【参考资料】

http://www.jb51.net/article/28222.htm

转载于:https://my.oschina.net/u/225084/blog/213454

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值