2017-07-20 5 views
0

小さなテーブルをクエリして特定のジャンルの行数を取得し、そのジャンルのアイテムの平均価格を表示しようとしていますが、私のコードは以下ですが、そうではありませんこのコードが実行されると、私は、ここで間違ったつもりだどこにとして正しい結果クエリカウント、サブクエリ平均

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

任意のポインタを表示し、私は2列と1行でテーブルを取得

おかげ

答えて

1

あなたドンこのためにサブクエリが必要です:

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

注:

  • 列の別名のための単一引用符を使用しないでください。それはちょうど混乱とバグにつながります。
  • テーブルエイリアスを使用すると便利です。テーブル名の省略形であるテーブルエイリアスを使用する方がはるかに優れています。
+2

すばらしい返信をいただきありがとうございます! –