我如何计算与两个变量匹配的行数?
我有一个名为:用户
的表格和字段名为:用户名& 介
我有另一张名为:评论
的表格和调用的字段: comment_username
在这种情况下,我需要获取特定用户引用的至少10条评论(评论表中的行)的推荐数量。
所以我认为代码应该是这样粗略的大纲。
$username = 'bob';
$validrefferalcount = 0;
function validreferrals($username){
$referreduser = SQL select * from users where referral='$username';
foreach ($referreduser) {
$numberofcomments = SQL count * from comments where comment_username ='$referreduser';
if ($numberofcomments >= 10){
$validreferralcount = $validreferralcount + 1;
}
}
return $validreferralcount;
}
我为语法错误等道歉......
感谢阅读。
答案 0 :(得分:5)
这个查询怎么样:
SELECT COUNT(*) FROM (
SELECT username, COUNT(*) AS c_comments
FROM users
JOIN comments ON username = comment_username
WHERE referral = 'referral'
GROUP BY username
) t
WHERE t.c_comments > 10;
答案 1 :(得分:3)
你应该在你的情况下使用JOIN。有点像(如果我理解正确的话)
SELECT count(*) FROM users
RIGHT JOIN comments ON comments.comment_username = users.username
WHERE users.referral = '$username'
您可以找到更多信息here
答案 2 :(得分:3)
由于我的实际帖子数不允许评论,所以基督徒的一些补充回答。
对计数有一个子句,所以匹配> = 10条件是个好主意