2010-06-25 1 views
1

회의 모든 행과 행 계산이 시나리오의 테이블의 키.T-SQL 2005 'KeyColumn', 처음 두가 기본이다 'SubKeyColumn'와 'BooleanColumn': 내가 3 열이있는 테이블을 가지고</p> <p>: 여기에 기준

내 쿼리에 대해 'KeyColumn'의 주어진 값에 대한 행 수를 계산하려면 'BooleanColumn'에 대해 어느 값이 true인지 알고 싶습니다.

SELECT 
    COUNT(*) 
    ,COUNT(CASE WHEN BooleanColumn = 1 THEN 1 ELSE 0 END) 
FROM 
    MyTable 
GROUP BY 
    KeyColumn 

그러나, 제 2 부분 (나는 그것이 처음부터 생각했던 이유는 완전히 확실하지 않다) 작동하지 않습니다 내 초기 생각은이 같은 쿼리를 만드는 것이 었습니다. 하나의 쿼리에서 이와 같은 작업을 수행 할 수 있습니까? 아니면 이런 일이 발생하도록 여러 쿼리를 수행해야합니까?

+0

당신은 당신이 무엇을보고 있는지 알 수 있도록 쿼리에 KeyColumn를 추가하려고 SUM ((BooleanColumn) TINYINT AS CAST)을 할 수 있을까? – DForck42

답변

5

두 번째 부분의 SUM을 SUM으로 변경하십시오.)

+0

니스. 오늘은 내 하루가 아닙니다. 감사합니다. – John

+0

나는 꽤 많이 말할 것입니다. – DForck42

2

... CASE ELSE NULL END BooleanColumn = 1 THEN 1 ...

COUNT가 비 NULL 행 카운트 WHEN.

+0

나는 본다; count()가 실제로 세는 것을 알면 도움이 될 것입니다! – John

관련 문제