0
以下查询运行良好。它从3个MySQL表中提取信息:登录,提交和评论。修改联接查询以向查询添加新值
它基于从这三个表中拉出的值计算创建一个名为totalScore2的值。
的MySQL表“评论”和“提交”都具有以下字段:
loginid submissionid
在该表“提交”,每个“submissionid”只有一个入口/行,因此只有一个“ loginid“与之相关联。
在表格“comment”中,字段“submitid”可能有多个条目/行,并可能与多个“loginid”关联。
每次“评论”中的“submissionid”之一都与表“提交”中的“loginid”相关联时,我想将其作为以下等式的一个因子。我想多次像这样的时间(-10)。
我该怎么做?
由于提前,
约翰
$sqlStr2 = "SELECT
l.loginid,
l.username,
l.created,
DATEDIFF(NOW(), l.created) + COALESCE(s.total, 0) * 5 + COALESCE(scs.total, 0) * 10 + COALESCE(c.total, 0) AS totalScore2
FROM login l
LEFT JOIN (
SELECT loginid, COUNT(1) AS total
FROM submission
GROUP BY loginid
) s ON l.loginid = s.loginid
LEFT JOIN (
SELECT loginid, COUNT(1) AS total
FROM comment
GROUP BY loginid
) c ON l.loginid = c.loginid
LEFT JOIN (
SELECT S2.loginid, COUNT(1) AS total
FROM submission S2
INNER JOIN comment C2
ON C2.submissionid = S2.submissionid
GROUP BY S2.loginid
) scs ON scs.loginid = l.loginid
GROUP BY l.loginid
ORDER BY totalScore2 DESC
LIMIT 25";
我想通了我自己。见下文。 – John 2010-10-11 09:33:24