为了账号安全,请及时绑定邮箱和手机立即绑定

如下,使用mysql怎么查询同一个字段的三个count值?

如下,使用mysql怎么查询同一个字段的三个count值?

海绵宝宝撒 2023-05-01 15:11:42
一个字段rvalue有三个值 想用一个sql语句同时输出三个count值我只会写一个的:select COUNT(*) from room where rvalue = '入住'
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

方法一

select count(rvalue = '入住' or null) 
      ,count(rvalue = '退房' or null) -- 内容是瞎掰的,原理是一样的
      ,count(rvalue = '续住' or null) -- 内容是瞎掰的,原理是一样的from room

方法二

select sum(if(rvalue = '入住',1,0))
      ,sum(if(rvalue = '退房',1,0)) -- 内容是瞎掰的,原理是一样的
      ,sum(if(rvalue = '续住',1,0)) -- 内容是瞎掰的,原理是一样的from room


查看完整回答
反对 回复 2023-05-03
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

如果用count的话,三个字段的count值会是一样。如果有按条件统计可以考虑用case和sum来配合使用。
比如
select sum(case gender when 'female' then 1 else 0 end) as Women, sum(case gender when 'male' then 1 else 0 end) as Men from users

查看完整回答
反对 回复 2023-05-03
  • 2 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信