Saya telah mengolok-olok beberapa data tabel untuk menguji kueri saya. WHERE
klausa harus diposisikan setelah JOIN
s. Anda juga sedikit ambigu tentang perbandingan COUNT
DAN 5
-- jika ingin lebih dari 5 maka >5
, jika Anda ingin 5 atau lebih maka >=5
.
SQL:(Demo 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