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)
谢谢您的回答!是的,它适用于最终的输出,但我的观点要求我列出每个种类的所有物种和数量,因此我不能使用这种方法。 –
@DarioOngsono我再次更新。只需查询视图并添加一个WHERE条件来限制动物的最大数量。 –
非常感谢!很棒。 –