2013-02-27 2 views
3

나를 위해 뭔가를 바꾸려고합니다. 제 질문은 SQL을 아는 사람이 쉽게 대답 할 수 있다고 생각합니다.카테고리 A & B (MySQL)의 항목 수

entry_id | cat_id 
5  | 3 
6  | 3 
7  | 3 
7  | 5 
7  | 6 
8  | 5 
9  | 3 
9  | 5 

지금 나는 (그들은 모두 범주에 있어야합니다) CAT_ID 3, 5에있는 모든 entry_ids를 계산하려면 : 나는 다음과 같은 테이블 (두 개의 열)이있다. 결과로 "2"를 얻으려면 어떻게해야합니까 (항목 7과 항목 9는 합계 2가됩니다).

누군가가 도움을 줄 수 있기를 바랍니다. 감사!

답변

5

이 문제는 때때로 Relational Division

SELECT COUNT(*) totalCOunt 
FROM 
(
    SELECT entry_id 
    FROM tableName 
    WHERE cat_id IN (3, 5) 
    GROUP BY entry_id 
    HAVING COUNT(DISTINCT cat_id) = 2 
) s 
+0

라고하는 것은 지금 일하고있어! 감사! –