我尝试仅在content> 0时显示结果
SELECT actors.*, (SELECT count(*) FROM `content_actors`
WHERE content_actors.actor = actors.record_id) AS getCount
FROM actors
如果我尝试添加查询
WHERE getCount > 0
我会遇到错误
“ where子句”中的未知列“ getCount”
答案 0 :(得分:3)
在MySQL中,您可以使用having
子句:
SELECT actors.*,
(SELECT count(*) FROM `content_actors` WHERE content_actors.actor = actors.record_id) AS getCount
FROM actors
HAVING getCount > 0;
这是一个MySQL扩展。
假设actors.record_id
是唯一的(大概是主键),则可以这样写:
SELECT a.*, COUNT(*) as getCount
FROM actors a JOIN
content_actors ca
ON ca.actor = a.record_id
GROUP BY a.record_id; -- assumes this is unique/primary key
不需要过滤,因为JOIN
需要至少一个匹配项。