Jag har hånat en del tabelldata för att testa min fråga. WHERE
satser måste placeras efter JOIN
s. Du är också lite tvetydig när det gäller jämförelsen av COUNT
OCH 5
-- om du vill ha fler än 5 så >5
, om du vill ha 5 eller fler så >=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