2016-11-09 12 views
0

エラーが、それは私が見るために何をしshoud「フィールドリスト」でカウントから最大値を選択するにはどうすればよいですか?

不明な列「N_Albums」

を示して、私は、最高のアルバム番号とバンドを選択しようとしていましたバンドの名前とそのアルバム番号?

select Name, max(N_Abums) as `Albums` 
from (select a.Name, count(b.CodDisc) as `Nr` 
    from `S8.Band` a join `S8.Album` b 
    where a.CodBand = b.CodBand 
    group by a.CodBand) as Test 
+0

N_Albumsが正しい列名であることを確認してください。 – Dominique

答えて

0

N_AlbumsからNrに変更してください。

あなたはNrでカウントをエイリアス化しました。そのため、max()を取る必要があります。

select Name, max(Nr) as Albums 
from (
    select a.Name, count(b.CodDisc) as Nr 
    from S8.Band a 
    join S8.Album b on a.CodBand = b.CodBand 
    group by a.CodBand 
) as Test 

また、不要なので、結合構文が改善され、すべてのバッククックが削除されました。

0

に応じて注文結果をして

select a.Name, count(b.CodDisc) as `Nr` 
from S8.Band a 
join S8.Album b on a.CodBand = b.CodBand 
group by a.CodBand, a.Name 
order by count(b.CodDisc) desc 
limit 1 
0

MAXのための必要性を全く最初のレコードだけを取っていない、ただORDER BY <COLUMN> DESCと最初の行を取得します。

関連する問題