2011-09-25 3 views
2

두 개의 표, 미리보기 및 설명이 있습니다. 스 니펫에는 Id 열이 있고 주석에는 SnippetId 열이 있습니다.다중 테이블 쿼리에서 COUNT (*)하는 방법은 무엇입니까?

각 스 니펫에 대한 의견 수를 계산하고 싶습니다.

SELECT 
     S.Id, 
     S.Title, 
     COUNT(*) AS CommentCount 
    FROM 
     Snippets S, 
     Comments C 
    WHERE 
     S.Id = C.SnippetId 

그러나 그것은 작동하지 않습니다

나는이 시도. 총 주석 수를 반환하고 한 행만 반환합니다.

나는이 같은 결과를 갖고 싶어

:

Id | Title | CommentCount 
1 | Test |   314 
2 | Test2 |   42 

가 어떻게 이것을 달성 할 수 있습니까?

답변

6

거의 정확합니다. 당신은 단지 GROUP BY 조항이 누락 : 대한 SQL의 말에

group by S.Id ,S.Title 

를 추가하는 방법

SELECT 
    S.Id, 
    S.Title, 
    COUNT(*) AS CommentCount 
FROM 
    Snippets S, 
    Comments C 
WHERE 
    S.Id = C.SnippetId 
GROUP BY S.Id, S.Title 
관련 문제