【问题标题】:Trying to formulate an SQL query, JOIN and GROUP BY尝试制定 SQL 查询、JOIN 和 GROUP BY
【发布时间】:2020-10-02 21:54:45
【问题描述】:

我有 2 个表,并希望使用 SQL 按位置获取收入作为输出。我想我需要一个 JOIN(左?)然后 GROUP BY 在位置但由于某种原因我的代码不起作用?

请看下面:

【问题讨论】:

  • ID 列是什么意思?看起来它们是相互独立的(电影 ID 与位置 ID)
  • 不,它们是相同的——主键
  • 数据模型看起来很奇怪。为什么位置表中有重复的位置?我希望该表中有两行,英国和美国。那么,收入不应该与电影和地点相关,即驻留在第三张表film_location中吗?
  • 定义中需要主键与外键关系。但是没有。
  • @thorsten,它是一个按 ID 列出位置的表格。例如,Goodfellas 的位置在美国,Annue Hall 也是如此

标签: sql join group-by


【解决方案1】:

这是一个连接和聚合:

select l.location, sum(f.revenue) revenue
from location l
inner join films f on f.id = l.id
group by l.location

【讨论】:

  • 哇,有没有更简单的方法,一步一步来?我计划先加入然后再分组?这行不通?
  • @4agreements:这就是查询的作用。一般来说,在 SQL 中,你不会一步一步地做事;你用一个查询描述你想要的结果,数据库会立即执行它。
  • 什么是 f.收入的意思?和 f.id?
  • f 是电影的别名...即“...加入电影 f...” 当不同表中的字段名称相同时,您确实需要它。别名有助于区分哪个是哪个。
  • 啊,谢谢 - 我正在寻找最简单的方法来做到这一点,但我在这里感到困惑?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 2014-04-20
  • 2016-04-11
  • 2016-07-17
  • 1970-01-01
  • 2014-08-31
  • 2018-07-20
相关资源
最近更新 更多