Ho simulato alcuni dati di tabella per testare la mia query. WHERE
le clausole devono essere posizionate dopo JOIN
S. Sei anche un po' ambiguo riguardo al confronto di COUNT
E 5
-- se vuoi più di 5 allora >5
, se vuoi 5 o più allora >=5
.
SQL:(Demo 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