Ich habe einige Tabellendaten nachgebildet, um meine Abfrage zu testen. WHERE
Klauseln müssen nach JOIN
positioniert werden s. Sie sind auch etwas zweideutig, was den Vergleich von COUNT
betrifft UND 5
-- wenn Sie mehr als 5 wollen, dann >5
, wenn Sie 5 oder mehr wollen, dann >=5
.
SQL:(SQLFiddle-Demo )
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