mysql - 需要在 1 个结果中找到电影发行时年龄最大的 Actor 的年龄

标签 mysql sql

所以我有两个具有多个关系的表

表格中的相关信息

人:

Id |   Name |    Birthyear

电影:

ID |    Name |    Releaseyear

电影 Actor :

MovieID |    ActorID

查询,我试过:

SELECT movie.name AS Movie, person.name, movie.releaseyear - person.birthyear AS Age
FROM movie_actor
INNER JOIN movie
ON movie.id = movie_actor.movieid
INNER JOIN person
ON person.id = movie_actor.actorID

这显示了电影和 Actor 的名字,以及电影上映那年 Actor 的年龄。但是我只需要它来显示 1 个结果,即在他/她参演的电影上映时年龄最大的 Actor 。

最佳答案

使用限制 1

SELECT 
     movie.name AS Movie, 
     person.name, 
     movie.releaseyear - person.birthyear AS Age
FROM movie_actor 
INNER JOIN movie ON movie.id = movie_actor.movieid 
INNER JOIN person ON person.id = movie_actor.actorID
order by age desc
limit 1

关于mysql - 需要在 1 个结果中找到电影发行时年龄最大的 Actor 的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55415240/

相关文章:

mysql - 如何避免sql查询中的临时表?

mysql - UPDATE SQL 命令不适用于 GO 语言

sql - 如何使用 Hive 以分钟为单位获取日期差异

mysql - 与 MySQL FIND_IN_SET 相反

php - mySQL 查询——多个可能的特定值

java - 存储过程调用期间使用 CallableStatement 的 SQL 语句无效

java - 无法打开 Hibernate session 进行事务;嵌套异常是 org.hibernate.exception.GenericJDBCException : Could not open connection

sql - 为什么这个 MySQL 查询不起作用?

mysql - 留言讨论查询

php - MySQL:SUBTIME()没有负值?