Ну, может, но я не могу запросить;)MySQL COUNT не может рассчитывать
Вот мой запрос:
SELECT code.id AS codeid, code.title AS codetitle, code.summary AS codesummary, code.author AS codeauthor, code.date, code.challengeid, ratingItems.*, FORMAT((ratingItems.totalPoints/ratingItems.totalVotes), 1) AS rating, code_tags.*, tags.*, users.firstname AS authorname, users.id AS authorid, GROUP_CONCAT(tags.tag SEPARATOR ', ') AS taggroup,
COUNT(DISTINCT 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
WHERE `code`.`approved` = 1
GROUP BY code_id
ORDER BY date desc
LIMIT 15
Важным направлением является второй один - тот, который я имею отступ. Я прошу указать COUNT количество комментариев для определенного сообщения, но оно не возвращает правильный номер. Например, что-то с двумя комментариями вернет «1». Что-то с 8 комментариями двух разных авторов все равно вернет «1» ...
Любые идеи?
Спасибо!
Джек
EDIT: забыл упомянуть. Когда я удаляю часть DISTINCT, что-то с 8 комментариями от двух авторов возвращает «28». К сожалению, я не эксперт MySQL и на самом деле не понимаю, почему это возвращение, что :(
Brilliant, thank s Yacoder - теперь я использую 'COUNT (DISTINCT comments.id)', который отлично работает :) – Jack