0
我正在使用一些MySQL表。他們的結構如下所示。將另一個參數添加到聯接查詢中
「登錄」:
loginid username password email actcode disabled activated created points website location age gender
每個用戶都有一個登錄ID
「提交」:
submissionid loginid title slug url displayurl datesubmitted
在上面的提交表格中, 「登錄ID」 是的該登錄ID提交提交的用戶。
「評論」:
commentid loginid submissionid comment datecommented
在上面的評語表,「登錄ID」是誰提出的評論的用戶登錄ID的。 「submitid」是提交評論的提交。
查詢低於(天的登錄ID已經存在)+(由登錄ID總意見書)* 10 +(註釋由登錄ID)排名前25代表登錄ID。
我想包括一個或多個因素:(總評論上submissionids的登錄ID提交製造)* 10
這將要求如下:
- 讓所有submissionids在表「提交」給定一個登錄ID
- 總結在表中「註釋」有那些submissionids條目總數
何我可以這樣做嗎?
由於提前,
約翰
$sqlStr2 = "SELECT
l.loginid,
l.username,
l.created,
DATEDIFF(NOW(), l.created) + COALESCE(s.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
GROUP BY l.loginid
ORDER BY totalScore2 DESC
LIMIT 25";