Me he burlado de algunos datos de la tabla para probar mi consulta. WHERE
las cláusulas deben colocarse después de JOIN
s. También eres un poco ambiguo sobre la comparación de COUNT
Y 5
-- si quieres más de 5 entonces >5
, si quieres 5 o más entonces >=5
.
SQL:(Demostración de 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