
[英]SQL Count number of true values from a row then multiply with another column
[英]SQL: is there a way to count the number of values from a table if there are none?
所以我有两张桌子,一张是它的“电影”(电影,类型,长度)和一张“演员”(title_movie,id_actor),我必须计算每个演员播放了多少“SF”电影。
我试过这个:
SELECT id_actor, Count(type)
FROM Cast, Movies
WHERE type='SF' and title_movie=movie
GROUP BY id_actor;
它只显示至少有 1 部 SF 电影的演员,不显示 0 部电影的演员。 有任何想法吗?
LEFT JOIN
获取所有演员。 要仅计算 SF 电影,请使用case
表达式进行条件聚合。
SELECT id_actor, sum(case when type = 'SF' then 1 else 0 end)
FROM Cast
LEFT JOIN Movies ON title_movie = movie
GROUP BY id_actor;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.