簡體   English   中英

SQL:在子查詢中選擇MAX

[英]SQL: Selecting the MAX within subqueries

好的,所以我的任務是找到一個特定演員的最新版本。 有多個表,一個有基本的電影信息(標題,年份),一個有演員姓名,名字,Starid,另一個有他們演出的movienum,有Movienum,Starid。

基本上我已經得到了75%的方式而且我只想回復一部特定演員最新的電影。 到目前為止,這是我的查詢

  SELECT MovieTitle, Datereleased
  FROM MovieList
  WHERE Movienumber IN (SELECT Movienumber FROM ActsIn Where Starids IN (SELECT Starids FROM Stars       WHERE Familyname = 'Tarintino'))

現在,當我運行它時,我得到3行3部電影及其相關信息。 第一列是電影片名,第二列是Yearreleased。 我該如何處理查詢才能返回最新的電影? (例如MAX年發布)

這是代碼,現在研究它並查找你不知道的所有語法:

Select top 1 MovieTitle, DateReleased From MovieList
Inner Join
ActsIn
on ActsIn.MovieNumber = MovieList.MovieNumber
Inner Join
Stars
on Stars.Starids = ActsIn.StarIds
Where
Stars.FamilyName = 'Tarantino'
ORDER BY DateReleased DESC

這是獲取所有演員的所有最新版本列表的另一種方法:

    select Stars.*, MovieTitle, DateReleased From MovieList inner join (
    Select MAX(DateReleased) AS DateReleased, StarIDs From MovieList
        Inner Join
        ActsIn
        on ActsIn.MovieNumber = MovieList.MovieNumber
    Group by StarIDs )  lastMovie on lastMovie.DateReleased = MovieList.DateReleased
    Inner join Stars on Stars.StarIDs = lastMovie.starIDs
Where FamilyName = 'Tarantino'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM