count를 하려고 합니다
select count(idx) as cnt,
count(if(b=1,1,null) as cnt1 from tbl
이런식으로 구하고있는데
문제는 a=1 일때 b=1일때 이렇게 구하고싶습니다.(마찬가지 a=1 b=2 ,a=1 b=3 계속구하려고합니다)
where 조건절에서 할수없는 이유는 전체 카운트값을 써야해서 그곳에서 a=1을 쓸수가 없습니다
어떤 방법이있을까요
제가해봤던건
count(case a=1 when b=1 then 1 end) 이런식으로 생각을 해봤는데 값이 맞게 안나옵니다.
일러주시면 감사하겠습니다.
-- 조건이 복합 조건이라면? AND 나 OR 사용하시면 됩니다.
SELECT COUNT(*) cnt_tot
, COUNT(CASE WHEN a = 1 THEN 1 END) cnt_a1
, COUNT(CASE WHEN b = 1 THEN 1 END) cnt_b1
, COUNT(CASE WHEN a = 1 AND b = 1 THEN 1 END) cnt_a1_b1
, COUNT(CASE WHEN a = 1 OR b = 1 THEN 1 END) cnt_a1_b1_or
FROM t
;
답변감사드립니다 and 를 쓰면되었군요... 해결하였습니다 감사합니다