2009-12-28 3 views
0

내 스레드를 마지막 스레드로 변경했습니다. 그러나 실제로 이것은 나의 요구 사항입니다.MySQL 쿼리 (스레드 변경)가 필요합니다.

다른 articleId를 가진 n 명의 사용자가 있습니다. articleId를 전달하면 얼마나 많은 사용자가 해당 기사를 보았는 지와 같은 결과를 얻고 싶습니다.

표 :

 
recId userId articleId  
----- ------ -------- 
1  10111  102  
2  10121  102  
3  10111  102  
4  10121  105   
5  10111  102   
6  10122  105  

표 2 : 나는 "102"표에서와은 articleID를 전달하는 경우

 
userId  jobtitle   
-----  ------    
10111  Engineer   
10121  Doctor 
10122  Professor    

, 그것은 특정 문서는 다른 사용자가 볼 얼마나 많은 시간과 같은 세부 사항을 반환해야 like :

 
jobtitle total 
-----  ------  
Engineer 3 
Doctor  1 
Professor 1 

articleid를 "105"로 전달하면 결과는 다음과 같습니다.

 
jobtitle total 
-----  ------  
Doctor  1 
Professor 1 

위 결과에 대한 쿼리 작성 방법은 무엇입니까? 사전

  • Gnaniyar 쥬 바이 르

답변

1
SELECT jobtitle, COUNT(*) AS total 
FROM table1 
JOIN table2 ON (table1.userId = table2.userId) 
WHERE articleId = <your articleid> 
GROUP BY table2.jobtitle 
+0

에서

덕분에이 매우 도움이 메 피터입니다. 너와 stackoveflow에게 고마워. –

1
SELECT 
    jobtitle, COUNT(recID) as total 
    FROM table1 a 
    INNER JOIN table2 b 
    ON 
    a.userId = b.userId 
    GROUP BY 
    jobtitle 
    WHERE articleId = ?