2012-05-18 4 views
1

나는 ... 서로 다른 결과를 계산하는MySQL의 카운트 고유 결과는

내 표는 다음과 같이 쿼리가 필요

ID | stats | name 
----------------- 
1 | 1  | John 
2 | 1  | John 
3 | 2  | John 
4 | 2  | John 
5 | 3  | John 

....

SELECT if(stats = 2, ADD + 1, 0) as ok, if(stats = 3, ADD + 1, 0) as no_ok 

감사 질의를 필요로한다.

+0

? 어떤 결과를 기대합니까? –

+0

내 html로, 버튼에 대한 결과가 두 개 필요합니다. – Igor

+0

버튼 확인 = 15 버튼 no_ok = 4 – Igor

답변

4

데이터 세트의 여러 특정 기준을 사용하여 행 수를 동시에 계산하려면 COUNT(CASE WHEN criteria THEN 1 END) 패턴을 사용할 수 있습니다.

SELECT 
    count(case when stats = 2 then 1 end) as ok, 
    count(case when stats = 3 then 1 end) as not_ok 
from 
    Table1 

결과 : 여기 stats = 2에 대한 행의 수를 계산하고 stats = 3에 대한 예입니다

OK | NOT_OK 
----------- 
2 | 1 

데모 : 당신이 원하는 무엇을 http://www.sqlfiddle.com/#!2/82414/1

+0

감사합니다. – Igor