J'ai simulé des données de table pour tester ma requête. WHERE
les clauses doivent être positionnées après JOIN
s. Vous êtes également un peu ambigu sur la comparaison de COUNT
ET 5
-- si vous voulez plus de 5 alors >5
, si vous voulez 5 ou plus alors >=5
.
SQL :(Démo 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