在SQL查询中混合使用

时间:2015-12-01 16:29:49

标签: sql postgresql

我在postgresql中有一个表包含在国家和鸟类列中。我想得到哪个国家的鸟类种类最多。我怎么能这样做?有什么建议吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用dense_rank来获取所有物种数量最多的国家/地区。

select country from 
(
select country, dense_rank() over(order by count(*) desc) as rnk
from yourtable
) t
where rnk = 1

答案 1 :(得分:0)

解决此问题的典型方法是使用group bylimit / fetch first 1 row only

select country, count(*) as cnt
from t
group by country
order by count(*) desc
limit 1;

注意:如果绑定了多个国家/地区,则只返回其中一个国家/地区。