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分钟前