[英]Using sample “world” database to find country with most cities
我目前正在学习 mySQL。 我注意到 mySQL 带有一个“世界”数据库,其中包含来自世界各地的城市及其各自国家和人口的数据库。
我有兴趣使用此数据库查找城市最多的前 5 个国家(城市是表的名称),这是我使用的查询:
use world;
select `Name`,count(*)
from `city`
group by `Name`
order by count(*) desc
limit 5;
这样对吗? 我有疑问,因为出于某种原因,当我删除 count(*) 列时,我得到了不同的结果。
谢谢!
很久以前就有人问过这个问题。 我不是 SQL 专家,但我相信您可以通过以下方式获得所需的结果:
select c.name, count(ct.name)
from country c
INNER JOIN city ct
ON ct.countrycode=c.code
group by c.name
order by 2 desc
limit 5 ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.