2016-09-14 21 views
1

クエリを実行するビューを作成しましたが、正しく動作していないようです。 コード:SQLカウント関数が正しく表示されない

CREATE VIEW SpeciesTypes AS 
    SELECT species.Name, count(animal.animalID) as number_of_animals 
    FROM zoo.species, zoo.animal 
    WHERE species.speciesID = animal.speciesID 
    GROUP by Name 

このコードは、それぞれの種名と、それぞれの種の中の動物の数を示します。しかし、を含むどの種が最も多くの動物を持っているかを知るために、に質問を書こうとしています。私が使用し

問い合わせは:

SELECT name, max(number_of_animals) 
    FROM speciestypes; 

これは私の動物の正しい最大数を示したが..変更されない種名は、誰もがこの問題を解決する方法を知っていますか?ありがとう!

答えて

1

最大の動物数を持つ種の名前を取得したい場合は、ビューを使用してWHERE句を使用して結果セットを制限することができます。

SELECT t.name, 
     t.number_of_animals 
FROM SpeciesTypes t 
WHERE t.number_of_animals = (SELECT MAX(number_of_animals) FROM SpeciesTypes) 
+0

ありがとうございました!はい、それは最終的な出力のために動作しますが、私の見解では、私はすべての種とそれぞれの動物の数をリストする必要があります、したがって私はこの方法を使用することはできません。 –

+0

@DarioOngsonoもう一度更新しました。ビューを照会して、WHERE条件を追加して、最大数の動物を持つ種に制限します。 –

+1

ありがとう!よく働く。 –

関連する問題