第五关 SUM and COUNT
name(国家名) |
continent(州份) |
area(面积) |
population(人口) |
dgp(国民生产总值) |
Afghanistan |
Asia |
652230 |
25500100 |
20343000000 |
Albania |
Europe |
28748 |
2831741 |
12960000000 |
Algeria |
Africa |
2381741 |
37100000 |
188681000000 |
… |
… |
… |
… |
… |
5.1题目及答案
- 展示世界的總人口。
SELECT sum(population)
FROM world
- 列出所有的洲份, 每個只有一次。
select continent
from world group by continent
select distinct continent from world
- 找出非洲(Africa)的GDP總和。
select sum(gdp)
from world where continent = 'Africa'
- 有多少個國家具有至少百萬(1000000)的面積。
select count(name)
from world where area >=1000000
- (‘France’,‘Germany’,‘Spain’)(“法國”,“德國”,“西班牙”)的總人口是多少?
select sum(population)
from world where name in ('France','Germany','Spain')
- 對於每一個洲份,顯示洲份和國家的數量。
select continent ,count(name)
from world group by continent
- 對於每一個洲份,顯示洲份和至少有1000萬人(10,000,000)口國家的數目。
select continent ,count(name)
from world where population >=10000000 group by continent
- 列出有至少100百萬(1億)(100,000,000)人口的洲份。
select continent
from world group by continent having sum(population)>=100000000
5.2总结
函数 |
用法说明 |
sum |
求和,返回列的总和 |
max |
返回所选列的最大值 |
count |
返回符合指定条件的行数(NULL 不计入) |
distinct |
同 SELECT 一起使用,去除所有重复记录,只返回唯一项 |
group by |
以按一个或多个列对结果集进行分组,通常与集合函数(COUNT,MAX,MIN,SUM,AVG)一起使用 |
having |
对 GROUP BY 子句所产生的组施加条件,HAVING 子句必须紧随 GROUP BY 子句,并出现在 ORDER BY 子句(如果有的话)之前。 |
- having在select查询中的位置:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY