mysql 实现select 判断查询

mysql查询A表type字段等于1的num字段合计值和type字段等于2的num字段合计值,


一:使用IF函数 IF(Condition,A,B)


当condition为true时,返回A,否则返回B


sql语句:

select sum(if(type=1,num,0)) as total_1,sum(if(type=2,num,0)) as total_2 from a ;


二:使用case when

语句格式1:CASE WHEN condition THEN   [A]  ELSE [B]END 

语句格式2:CASE condition WHEN value THEN   [A]  ELSE [B]END 


当condition成立时,执行,否则执行B


sql语句:

select sum(CASE WHEN type=1 THEN num ELSE 0 END) as total_1,sum(CASE WHEN type=2 THEN num ELSE 0 END) as total_2 from a ;

或者

select sum(CASE type WHEN 1 THEN num ELSE 0 END) as total_1,sum(CASE type WHEN 2 THEN num ELSE 0 END) as total_2 from a ;


仙士可博客
请先登录后发表评论
  • 最新评论
  • 总共5条评论
仙士可博客

Tenacity-浩:还有这种操作,长知识了

2018-11-16 10:19:19 回复

仙士可博客

EZ:111111111111111111

2017-12-18 10:11:35 回复

仙士可博客

EZ:没看见 点一下一个社会主义核心价值观  啊

2017-12-18 10:10:19 回复

仙士可博客

EZ:没看见 点一下一个社会主义核心价值观  啊

2017-12-18 10:08:47 回复

仙士可博客

EZ:学习了

2017-12-04 15:46:00 回复

仙士可博客
  • 仙士可 回复 EZ仙士可博客
  • 2017-12-04 15:46:49 回复
  • 本站由白俊遥博客程序搭建
    © 2017-1-17 php20.cn 版权所有 ICP证:闽ICP备17001387号
  • 联系邮箱:1067197739@qq.com