2015-12-01 58 views
0

我在postgresql中有一個表,包括國家和鳥類物種欄。我想知道哪個國家的鳥種數量最多,我該怎麼做?任何建議?在sql查詢中混合使用

enter image description here

+3

請發佈您的解決 –

+0

dear @vkp的企圖。 Actualy。其中一種方法是使用任何國家/地區的專欄名稱進行選擇,然後將其計入檢索的鳥類物種。但是有很多國家,我真的不會爲每個國家做到這一點。我正在尋找任何建議來避免這種疲憊的方式。 –

回答

1

您可以使用dense_rank獲得所有種類最多的國家。

select country from 
(
select country, dense_rank() over(order by count(*) desc) as rnk 
from yourtable 
) t 
where rnk = 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; 

注意:如果多個國家都打成平手,那麼這將只返回其中之一。