好吧,我認識到,其實它更可能是我的邏輯的票錯;)MySQL查詢計數錯誤
因此,這裏是我的查詢:
SELECT
code.id AS codeid, code.title AS codetitle, code.summary AS codesummary, code.author AS codeauthor, code.date,
code_tags.*,
tags.*,
users.firstname AS authorname,
users.id AS authorid,
ratingItems.*, FORMAT((ratingItems.totalPoints/ratingItems.totalVotes), 1) AS rating,
GROUP_CONCAT(tags.tag SEPARATOR ', ') AS taggroup,
COUNT(comments.codeid) AS commentcount
FROM
code
join code_tags on code_tags.code_id = code.id
join tags on tags.id = code_tags.tag_id
join users on users.id = code.author
left join comments on comments.codeid = code.id
left join ratingItems on uniqueName = code.id
GROUP BY code_id
ORDER BY date DESC
LIMIT 0, 15
對不起有相當多的「膨脹的' 在那裏面。我遇到的問題是commentcount
或(COUNT(comments.codeid) AS commentcount
) - 我想要統計代碼提交的評論總數。以前,它工作正常,但我重新調整了我的MySQL語法,現在它停止工作:(
在數據庫中只有2個code
提交有註釋。正確返回的第一個結果表明它有超過0評論,但報告它作爲具有commentcount
「2」的時候,其實它只有1
第二提交ALSO只有一個評論,不過,它告訴我,它有4個!
有人能告訴我我的邏輯有什麼問題嗎?
謝謝!
插孔
什麼是code_id?我看到code.id和codeid,但我看不到Code_id的來源。 – Borealid 2010-07-07 09:07:34
我猜測,顯示爲2條評論的標籤有2個標籤,而顯示爲4條評論的標籤有4個標籤。是對的嗎? – 2010-07-07 09:08:16