SQL case when和IIF的使用实例

数据库 专栏收录该内容
6 篇文章 0 订阅

SQL case when的使用实例

数据表:CaseWhen

IDwebsite1website2website3Name
1nullwww.mozhenlong.comwww.mozhenlong.xinmzl
2www.baidu.comwww.mozhenlong.comnullmzl1
3nullnullwww.mozhenlong.xinmzl
4nullwww.mozhenlong.comnullmzl1
5www.baidu.comnullwww.mozhenlong.xinmzl
6nullwww.mozhenlong.comnullmzl1
7nullwww.mozhenlong.comwww.mozhenlong.xinmzl
8nullwww.mozhenlong.comnullmzl1
9www.baidu.comwww.mozhenlong.comnillmzl
10nullnullwww.mozhenlong.xinmzl2
11nullwww.mozhenlong.comnullmzl
12www.baidu.comwww.mozhenlong.comnullmzl2
13nullnullwww.mozhenlong.xinmzl2
14nullnullwww.mozhenlong.xinmzl3

统计每个用户访问各个站点的总数:

使用case when查询语句:

 select Name,
 SUM(case website1 when 'www.baidu.com' then 1 else 0 end) as BaiduPost,
 SUM(case website2 when 'www.mozhenlong.com' then 1 else 0 end) as MzlComPost,
 SUM(case website3 when 'www.mozhenlong.xin' then 1 else 0 end) as MzlXinPost 
 from CaseWhen
 group by Name
 order by Name

使用IIF查询语句:

 select Name,
 SUM(IIF(website1 = 'www.baidu.com',1,0) as BaiduPost,
 SUM(IIF(website2 = 'www.mozhenlong.com',1,0) as MzlComPost,
 SUM(IIF(website3 = 'www.mozhenlong.xin',1,0) as MzlXinPost 
 from CaseWhen
 group by Name
 order by Name

统计结果:

NameBaiduPostMzlComPostMzlXinPost
mzl244
mzl1140
mzl2112
mzl3011
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值