Tôi đã giả lập một số dữ liệu bảng để kiểm tra truy vấn của mình. WHERE
mệnh đề phải được đặt sau JOIN
S. Bạn cũng hơi mơ hồ về việc so sánh COUNT
VÀ 5
- nếu bạn muốn nhiều hơn 5 thì >5
, nếu bạn muốn 5 hoặc nhiều hơn thì >=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