列出在“Karkato”(这是一个地名)发现的前5个物种(spID、公共名称、收集的数量)
下表列出了:物种(spID,属,种,通用名)
字段位置(locID、位置名称、纬度、类型)
样本(中间、spID、locID、日期)
主键为粗体
外键为斜体

最佳答案

select distinct species.spID
 ,species.common_name
 ,count(specimen.spID) as number_collected
from species
 ,field_location
 ,specimen
where species.spID = specimen.spID
 and field_location.locID = specimen.locID
 and field_location.location_name = 'Karkato'
order by number_collected desc
limit 5

应该对mysql有效。。
但是当你忽略了dbms时,我假设你问这个问题是因为它是你的家庭作业(不要担心99%的人在sql 101中第一次被问到这个问题时,会很不幸地失败)
因为我不想进一步扭曲99%,所以我不会用sql来回答这个问题。相反,我会给你链接一个egg head cafe answer。这个人很好地回答了一个类似的问题,你只需要为你的例子重做一下,记住你没有像他那样预先计算好价格。

关于mysql - 列出排名前5(收集最多)的物种,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/754490/

10-09 06:22