我正在使用Sakila数据库学习PostgreSQL。有一个称为actor的表,它具有一个this.jobs = response.data;
// try changing to
this.jobs = response.data.jobs;
,actor_id
和first_name
。还有另一个表格,其中演员通过last_name
和actor_id
组合映射到电影。
我希望以下查询为每个演员返回一行,并为该演员提供film_id的最大值,但是我将获得多行而不是一行(该演员的film_id的最大值)。
film_id
感谢您的帮助,帮助您了解如何使用联接来实现此目的(我已经有了使用子查询来实现此目的的解决方案)。
PS:我敢肯定,SQL的初学者经常会问这个问题,但是我还没有看到一个可行的答案。
答案 0 :(得分:0)
您必须从以下位置删除film_actor.film_id
:
GROUP BY film_actor.film_id, actor.first_name, actor.last_name
因为您只想按演员分组。
因此更改为:
GROUP BY actor.actor_id, actor.first_name, actor.last_name
我还添加了actor.actor_id
,以防万一有两个同名演员。
并将ORDER BY
子句更改为:
ORDER BY MAX(film_actor.film_id)