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

问题描述:

我创建了一个查看视图,但似乎没有正常工作。 代码: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; 

这表明我的动物正确数量最多但品种名称不会改变..没有人知道如何解决这一问题?谢谢!

如果你想得到动物数量最多的物种的名称,使用你的看法,你可以使用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

非常感谢!很棒。 –