我尝试只在内容>0时显示结果
SELECT actors.*, (SELECT count(*) FROM `content_actors` WHERE content_actors.actor = actors.record_id) AS getCount FROM actors
如果我尝试在查询中添加
WHERE getCount > 0
我会出错的“where子句”中的未知列“getcount”
n9vozmp41#
在mysql中,可以使用 having 条款:
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 是唯一的(可能是主键),可以写为:
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 至少需要一个匹配项。
JOIN
1条答案
按热度按时间n9vozmp41#
在mysql中,可以使用
having
条款:这是一个mysql扩展。
假设
actors.record_id
是唯一的(可能是主键),可以写为:不需要过滤,因为
JOIN
至少需要一个匹配项。