2009-12-28 3 views
0

J'ai changé mon fil comme mon dernier fil aussi même comme ça. Mais en réalité c'est mon exigence.Besoin Mysql Query (Thread Changed)

J'ai un nombre n d'utilisateurs avec différents articleId. Si je réussis l'articleId, je veux obtenir les résultats comme combien d'utilisateurs différents ont vu cet article.

table1:

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

table2:

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

Si je passe le articleId comme "102" de tableau 1, il doit retourner les détails comme le nombre de fois que l'article particulier vu par les différents utilisateurs comme:

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

si je passe articleid comme "105", le résultat sera comme ceci:

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

Comment écrire une requête pour les résultats ci-dessus?

Merci à l'avance

  • Gnaniyar Zubair

Répondre

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

cela est très utile tome peter. merci beaucoup à vous et 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 = ?