SQL 计算总和并加入 table
SQL count sum and joining table
我 运行 提出了我的 SQL class 的问题,但没有解决方案。我的查询只需要显示男女演员数量相同的电影。
我有三个 table:
(table:字段 1,字段 2):
Casting: actor_number, movie_number
Actor_List: id, name, gender
Movie_List: id, movie_name
子查询使用了一些 CASE() 技巧来有条件地增加计数(即 countif
)。子查询分解语法意味着我们只执行一次查询。
with cte as (
select m.movie_name
, sum(case when a.gender = 'M' then 1 else 0 end) as male_tot
, sum(case when a.gender = 'F' then 1 else 0 end) as female_tot
from casting c
join movie_list m
on c.movie_number = m.id
join actor_list a
on c.actor_number = a.id
group by m.name
)
select cte.*
from cte
where cte.male_tot = cte.female_tot ;
我 运行 提出了我的 SQL class 的问题,但没有解决方案。我的查询只需要显示男女演员数量相同的电影。
我有三个 table: (table:字段 1,字段 2):
Casting: actor_number, movie_number
Actor_List: id, name, gender
Movie_List: id, movie_name
子查询使用了一些 CASE() 技巧来有条件地增加计数(即 countif
)。子查询分解语法意味着我们只执行一次查询。
with cte as (
select m.movie_name
, sum(case when a.gender = 'M' then 1 else 0 end) as male_tot
, sum(case when a.gender = 'F' then 1 else 0 end) as female_tot
from casting c
join movie_list m
on c.movie_number = m.id
join actor_list a
on c.actor_number = a.id
group by m.name
)
select cte.*
from cte
where cte.male_tot = cte.female_tot ;