2017-07-20 11 views
0

Ich versuche, eine kleine Tabelle abzufragen und die Anzahl der Zeilen mit einem bestimmten Genre zu erhalten, und den Durchschnittspreis der Elemente in diesem Genre anzuzeigen, ist mein Code unten, ist es aber nicht die korrekte Anzeige von ErgebnissenAbfrage Count, Sub Abfrage Durchschnitt

SELECT Movie_Genre, COUNT(*) as COUNT 
FROM(
SELECT Movie_Genre, 
    AVG(Movie_Cost) 'Average Price' 
FROM `indemoviedb`.`movie`) AS T 
GROUP BY Movie_Genre; 

Alle Hinweise, wo ich falsch hier werde, wenn dieser Code ausgeführt wird, erhalte ich eine Tabelle mit zwei Spalten und eine Zeile

Dank

Antwort

1

Sie don brauche keine Unterabfrage dafür:

SELECT Movie_Genre, 
     AVG(Movie_Cost) as Average_Price, 
     COUNT(*) as Num_Movies 
FROM `indemoviedb`.`movie` m 
GROUP BY Movie_Genre; 

Hinweise:

  • nicht einfache Anführungszeichen für Spaltenaliasnamen verwenden. Das führt nur zu Verwirrung und Fehlern.
  • Die Verwendung eines Tabellenalias ist gut. Einen Tabellenalias zu verwenden, der eine Abkürzung für den Tabellennamen ist, ist viel besser.
+2

Super, dass funktioniert hat, danke für die schnelle Antwort! –