Vysmíval jsem si některá data tabulky, abych otestoval svůj dotaz. WHERE
klauzule musí být umístěny za JOIN
s. Jste také trochu nejednoznační ohledně srovnání COUNT
AND 5
-- pokud chcete více než 5, pak >5
, pokud chcete 5 nebo více, pak >=5
.
SQL:(Ukázka 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