MYSQL фильтр по количеству других таблиц - PullRequest
2 голосов
/ 22 июля 2011

Я начинаю с MYSQL.У меня есть следующий запрос:

SELECT answers.data. * , COUNT( answers.reports.id ) AS rcount
FROM answers.data
LEFT JOIN answers.reports ON answers.data.id = answers.reports.answer_id
WHERE answers.data.question='4'
GROUP BY answers.data.id

Он возвращает мне все ответы на текущий вопрос с добавленным столбцом под названием rcount (количество отчетов)

Я хочу, чтобы он возвращал только те, у кого меньшечем 3 отчета.Я попробовал следующий код:

SELECT answers.data. * , COUNT( answers.reports.id ) AS rcount
FROM answers.data
LEFT JOIN answers.reports ON answers.data.id = answers.reports.answer_id
WHERE answers.data.question='4' AND rcount < '3'
GROUP BY answers.data.id

, но, как правило, дело не в этом.Я не могу найти в руководстве решение, так как я новичок в этом.Спасибо

1 Ответ

6 голосов
/ 22 июля 2011

Используйте предложение HAVING:

SELECT answers.data.* , COUNT( answers.reports.id ) AS rcount
FROM answers.data
LEFT JOIN answers.reports ON answers.data.id = answers.reports.answer_id
WHERE answers.data.question='4'
GROUP BY answers.data.id
HAVING COUNT( answers.reports.id ) < 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...