Ris*_*skz 2 mysql sql database count
我正在开始使用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
Run Code Online (Sandbox Code Playgroud)
它返回了我当前问题的所有答案,并添加了一个名为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
Run Code Online (Sandbox Code Playgroud)
但显然那不是新情况的发生地.因为我是新手,所以在手册中找不到解决方案.谢谢
使用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
Run Code Online (Sandbox Code Playgroud)