在PostgreSQL中选择带有count的不同值

dur*_*tti 10 sql correlated-subquery postgresql-9.1

这是我正在处理的SQL问题的大量简化版本.假设我有一张世界上所有城市的表格,如下所示:

country city
------------
Canada  Montreal
Cuba    Havanna
China   Beijing
Canada  Victoria
China   Macau
Run Code Online (Sandbox Code Playgroud)

我想算一下每个国家有多少个城市,这样我最终会得到一张桌子:

country city_count
------------------
Canada  50
Cuba    10
China   200
Run Code Online (Sandbox Code Playgroud)

我知道我可以获得不同的国家/地区值,SELECT distinct country FROM T1我怀疑我需要为city_count列构建子查询.但我的非SQL大脑只是告诉我,我需要循环结果......

谢谢!

Mar*_*rkD 17

假设新行的唯一原因是一个独特的城市

select country, count(country) AS City_Count
from table
group by country
Run Code Online (Sandbox Code Playgroud)