SQL计数功能在视图中无法正常工作

时间:2016-09-14 05:41:44

标签: mysql

我已经创建了一个查询视图,但似乎没有正常工作。 代码:

    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 个答案:

答案 0 :(得分:1)

如果您想获得具有最多动物种类的名称,使用您的视图,您只需使用WHERE子句来限制结果集。

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