Есть две таблицы:
sections с темами сообщений и messages с сообщениями
при выборке, нужно изъять число сообщений, принадлежащих каждой теме,
SELECT sections.section_id, sections.name, MAX( messages.date ) AS message_date , COUNT( messages.id ) AS messages_count
FROM sections, messages
WHERE messages.section_id = sections.section_id
GROUP BY sections.section_id
ORDER BY messages.date DESC
что обеспечивается "WHERE messages.section_id = sections.section_id", но может быть вариант, когда в теме сообщений ещё нет и эти темы запросом не выбираются.
при попытке вставить инструкцию IF(COUNT(messages.id)>0, messages.section_id = sections.section_id, sections.section_id)
выдаётся ошибка
#1111 - Invalid use of group function
По идее речь о COUNT(messages.id)>0.
как нужно правильно написать этот запрос?
SELECT sections.section_id, sections.name, MAX( messages.date ) AS message_date , COUNT( messages.id ) AS messages_count
FROM sections, messages
WHERE IF(COUNT(messages.id)>0, messages.section_id = sections.section_id, sections.section_id)
GROUP BY sections.section_id
ORDER BY messages.date DESC