मैंने अपनी क्वेरी का परीक्षण करने के लिए कुछ टेबल डेटा का मज़ाक उड़ाया है। WHERE क्लॉज को JOIN . के बाद रखा जाना चाहिए एस। COUNT . की तुलना के बारे में भी आप थोड़े अस्पष्ट हैं और 5 -- अगर आप 5 से ज्यादा चाहते हैं तो >5 , यदि आप 5 या अधिक चाहते हैं तो >=5 ।
SQL:(SQLFiddle डेमो )
SELECT a.user_id,a.username,COUNT(b.user_id)
FROM users a
INNER JOIN articles b ON a.user_id=b.user_id
WHERE a.type=3
GROUP BY a.user_id
HAVING COUNT(b.user_id)>5
ORDER BY RAND()
LIMIT 4