You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL World数据库中筛选出包含10个以上国家的大洲?

筛选包含10个以上国家的大洲(World数据库)

我在学习SQL时,用World数据库做练习,需求是找出包含10个以上国家的大洲。涉及的world表核心字段如下:

  • name:存储所有国家的名称
  • continent:存储国家所属大洲,可选值包括非洲、美洲、亚太、欧洲、中东、北美、南美、南亚

一开始我写出了基础的分组统计代码,但没法完成筛选需求:

SELECT continent, COUNT(*)
FROM world
GROUP BY continent

后来补充了分组后的过滤条件,得到了正确结果,最终代码如下:

SELECT continent, COUNT(*) 
FROM world
GROUP BY continent
HAVING COUNT(name) > 10

关键说明

  • 要对分组后的聚合结果做条件筛选,不能用WHERE(WHERE用于分组前过滤单行数据),必须使用HAVING子句
  • 用COUNT(name)而非COUNT(*),是为了排除name字段为空的无效数据,确保统计的是真实存在的国家数量(如果name字段无NULL值,用COUNT(*)也能得到相同结果)

内容的提问来源于stack exchange,提问作者oljo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:55:48