sqlzoo--sum and count

SUM and COUNT
namecontinentareapopulationgdp
AfghanistanAsia6522302550010020343000000
AlbaniaEurope28748283174112960000000
AlgeriaAfrica238174137100000188681000000
AndorraEurope468781153712000000
AngolaAfrica124670020609294100990000000
  1. 查询世界总人口

    SELECT sum(population)
    FROM world;
    
  2. 列出所有洲份,每个只显示一次

    SELECT DISTINCT(continent) FROM world;
    
  3. 查询出非洲的GDP总和

    SELECT SUM(gdp) FROM world
      WHERE continent = 'Africa';
    
  4. 有多少个国家具有至少百万的面积

    SELECT COUNT(name) FROM world
    WHERE area >= 1000000;
    
  5. 查询法国、德国、西班牙的总人口

    SELECT SUM(population) FROM world 
    WHERE name in ('France', 'Germany', 'Spain');
    
  6. 对于每一个洲份,显示洲份和国家的数量

    SELECT continent,COUNT(name) FROM world
    GROUP BY continent;
    
  7. 对于每一个洲份,显示洲份以及至少有1000万人口国家的数目

    SELECT continent,COUNT(name) FROM world
    WHERE population > 10000000
    GROUP BY continent;
    
  8. 列出有至少一亿人口的洲份

    SELECT continent FROM world
    GROUP BY continent
    HAVING SUM(population) >= 100000000;
    
    SUM and COUNT Quiz:
    1. 选择能够显示欧洲所有国家人口总和的语句

      answer:

      SELECT SUM(population) FROM bbc WHERE region = 'Europe'
      
    2. 选择能够显示人口数在150000以下国家的语句

      answer:

      SELECT COUNT(name) FROM bbc WHERE population < 150000
      
    3. 核心聚合函数

      answer:

      AVG(), COUNT(), MAX(), MIN(), SUM()
      
    4. 以下代码获得的结果

      SELECT region, SUM(area)
         FROM bbc 
        WHERE SUM(area) > 15000000 
        GROUP BY region
      

      answer: No result due to invalid use of the WHERE function

    5. 波兰、德国、丹麦三个国家的平均人口

      answer:

      SELECT AVG(population) FROM bbc WHERE name IN ('Poland', 'Germany', 'Denmark')
      
    6. 每个区域的人口密度

      answer:

      SELECT region, SUM(population)/SUM(area) AS density FROM bbc GROUP BY region
      
    7. 最大人口国家的名称以及人口密度

      answer:

      SELECT name, population/area AS density FROM bbc WHERE population = (SELECT MAX(population) FROM bbc)
      
    8. Pick the result that would be obtained from the following code:

       SELECT region, SUM(area) 
         FROM bbc 
        GROUP BY region 
        HAVING SUM(area)<= 20000000
      

      answer: Table-D

      Americas732240
      Middle East13403102
      South America17740392
      South Asia9437710
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sweeney Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值