一个字段rvalue有三个值 想用一个sql语句同时输出三个count值
我只会写一个的:select COUNT(*) from room where rvalue = '入住'
一个字段rvalue有三个值 想用一个sql语句同时输出三个count值
我只会写一个的:select COUNT(*) from room where rvalue = '入住'
如果用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
方法一
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
2 回答3.4k 阅读
677 阅读