SQLZOO: SUM and COUNT/zh
World Country Profile: Aggregate functions
This tutorial is about aggregate functions such as COUNT, SUM and AVG. An aggregate function takes many values and delivers just one value. For example the function SUM would aggregate the values 2, 4 and 5 to deliver the single value 11.
name | continent | area | population | gdp |
---|---|---|---|---|
Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
Albania | Europe | 28748 | 2831741 | 12960000000 |
Algeria | Africa | 2381741 | 37100000 | 188681000000 |
Andorra | Europe | 468 | 78115 | 3712000000 |
Angola | Africa | 1246700 | 20609294 | 100990000000 |
... |
1.展示世界的總人口
SELECT SUM(population) FROM world
2.列出所有的洲份, 每個只有一次。
SELECT DISTINCT(continent) FROM world
3.找出非洲(Africa)的GDP總和。
SELECT SUM(gdp) FROM world WHERE continent='Africa'
4.有多少個國家具有至少百萬(1000000)的面積。
SELECT COUNT(name) FROM world WHERE area>=1000000
5.('France','Germany','Spain')(“法國”,“德國”,“西班牙”)的總人口是多少?
SELECT SUM(population) FROM world WHERE name IN ('France','Germany','Spain')
6.對於每一個洲份,顯示洲份和國家的數量。
SELECT continent,COUNT(name) FROM world GROUP BY continent
7.對於每一個洲份,顯示洲份和至少有1000萬人(10,000,000)口國家的數目。
SELECT continent,COUNT(name) FROM world WHERE population>=10000000 GROUP BY continent
8.列出有至少100百萬(1億)(100,000,000)人口的洲份。
SELECT continent FROM world GROUP BY continent HAVING SUM(population)>=100000000