Mysql 计数(*)在没有适用行时返回错误结果

Mysql 计数(*)在没有适用行时返回错误结果,mysql,sql,count,Mysql,Sql,Count,我正在运行以下查询: SELECT *, COUNT(iup.user_id) AS user_plans_count FROM #__iop_user_plans iup INNER JOIN #__iop_plan ip ON iup.iop_id = ip.id WHERE `iup`.`state` = 1 AND `iup`.`user_id` IS NOT NULL AND `iup`.`accepted` = 0 当没有适用的行时,MySQL仍然返回一个只包含计数的结果。如何更改

我正在运行以下查询:

SELECT *, COUNT(iup.user_id) AS user_plans_count
FROM #__iop_user_plans iup
INNER JOIN #__iop_plan ip ON iup.iop_id = ip.id
WHERE `iup`.`state` = 1 AND `iup`.`user_id` IS NOT NULL AND `iup`.`accepted` = 0
当没有适用的行时,MySQL仍然返回一个只包含计数的结果。如何更改查询,使其仅在大于0时返回计数?

这样就可以了

SELECT *, COUNT(iup.user_id) AS user_plans_count
FROM #__iop_user_plans iup
INNER JOIN #__iop_plan ip ON iup.iop_id = ip.id
WHERE `iup`.`state` = 1 AND `iup`.`user_id` IS NOT NULL 
AND `iup`.`accepted` = 0 
HAVING user_plans_count>0

你真棒!谢谢回答。我等待时间限制过去。那是9分钟,大约30分钟前