gpt4 book ai didi

mysql - SQL查询帮助从多个表中选择

转载 作者:行者123 更新时间:2023-11-29 08:09:18 27 4
gpt4 key购买 nike

我不知道如何完成这个查询......

问题提出:

"For each person who acted in a movie in 2010, find their name and total pay in all movies in which they have acted (i.e. including those not in 2010)."

所需表格:(其中 title = 电影标题,year = 电影年份,Pay = Actor 报酬)

ActedIn (name:varchar, title:varchar, year:int, pay:real)

到目前为止我的查询:

SELECT A.name, A.pay FROM ActedIn A WHERE A.year = 2010;

这将返回:

+--------+--------+
| Name | Pay |
+--------+--------+
| Dino | 12.22 |
+--------+--------+
| Miro | 1238.22|
+--------+--------+

但是,这仅返回该 Actor 2010 年制作的特定电影所收到的费用。

现在我有了想要查找的 Actor 的名字,我需要它来查找他们制作的所有其他电影(2010 年之前或之后),并为他们出演的所有电影添加总片酬。

我知道我需要创建另一个表来查找这两个 Actor 出演的所有电影,然后合并我认为的列。

有什么帮助吗?

最佳答案

您可以使用单个聚合和 having 子句来完成此操作:

select ai.name, sum(ai.pay)
from actedin ai
group by ai.name
having sum(case when ai.year = 2010 then 1 else 0 end) > 0;

having 子句计算每个“名字”在 2010 年出演的电影数量。如果该数字大于 0,则该名字将保留在结果集中。

关于mysql - SQL查询帮助从多个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21961366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com