我们说我有一个动物园数据库。在每个动物园里都有一些动物,例如斑马,狮子,大象和企鹅。我有以下表格:
有没有办法查询结果显示每个动物园中每个物种有多少?让我们说动物园在列中,物种在行中。
到目前为止,我已经在一个动物园里对一群动物进行了计数,然后我就陷入了困境。 这是我的代码:
SELECT Species, COUNT(ID) AS "No of animals in zoo1"
FROM view1
WHERE Zoos.Name = 'Zoo1'
GROUP BY Species;
答案 0 :(得分:2)
类似的东西......确切地说,需要有关数据模型的更多信息。
select zoos.name, species , count(*)
from zoos
join animals on zoos.species = animals.species and zoos.name = animal.zoo_name
group by zoos.name, species
或者
select zoo.name, species , count(*)
from zoos
join animals on zoos.name = animal.zoo_name
group by zoos.name, animals.species
答案 1 :(得分:1)
类似的东西:
SELECT zoo.name, animals.species, count(*) AS number
FROM ANIMALS
LEFT JOIN zoos ON animals.zoo_id = zoo.id
GROUP BY zoo.id, species
工作正常并给你这样的行:
+-----------+------------+----------+
| name | species | number |
+-----------+------------+----------+
| San Diago | Zebra | 15 |
| San Diago | Lion | 2 |
| Colorado | Zebra | 10 |
等等