2016-09-14 94 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

非常感謝!很棒。 –