2017-04-11 7 views
0

Ich habe diese Tabelle (Filme), wo ich brauche den neuesten Film von jedem Regisseur gerichtet finden .....MySql - Wie Sie den neuesten Film von jedem Regisseur bekommen

enter image description here

diese Abfrage scheint um mich das Ergebnis davon:

SELECT title 
FROM movies 
WHERE year IN (
    SELECT MAX(year) 
    FROM movies 
    GROUP BY director 
); 

Aber ich kann nicht verstehen, warum „La La Land“ von Steven McQueen ..., die nicht auf den Ausgang sein soll

enter image description here

+2

Sie haben genau das, wonach Sie gefragt haben. Ihre Suchanfrage sucht nach Filmen, die im selben Jahr wie der neueste Film eines Regisseurs veröffentlicht wurden. –

+0

La Land im Jahr 2010? – Xboss

+0

Ich meine ... "Bee Movie" und "Deadpool" müssen nur für Steven McQueen da sein, denn das sind die neuesten Filme, die von ihm gedreht wurden. – Xboss

Antwort

0

Sie benötigen eine korrelierte Unterabfrage.

Wenn mehrere Filme von einem Regisseur im letzten Jahr veröffentlicht wurden, werden alle von ihnen enthalten sein.

SELECT m1.title 
FROM movies m1 
WHERE m1.year = 
     (SELECT MAX(m2.year) 
     FROM movies m2 
     WHERE m1.director=m2.director) 
+0

Es funktioniert !! aber mit "IN" anstelle von "=". Tnx PM 77-1 ... – Xboss

+0

@ Xboss - Wenn Sie Ihre Daten in Textform (nicht als Bild) I zeigt Ihnen das funktionierende Beispiel meines Codes. –

Verwandte Themen