Wyśmieniłem niektóre dane tabeli, aby przetestować moje zapytanie. WHERE
klauzule muszą być umieszczone po JOIN
s. Nie masz pewności co do porównania COUNT
ORAZ 5
-- jeśli chcesz więcej niż 5, to >5
, jeśli chcesz 5 lub więcej, to >=5
.
SQL:(Pokaz 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