美文网首页
155、MySQL入门(五):SUM and COUNT用法

155、MySQL入门(五):SUM and COUNT用法

作者: 陈容喜 | 来源:发表于2018-04-26 20:16 被阅读0次

    Sqlzoo习题练习:SUM and COUNT

    习题链接:<u>http://sqlzoo.net/wiki/SUM_and_COUNT</u>

    下面为SUM and COUNT习题内容:

    知识点:

    SUM() 函数

    SUM 函数返回数值列的总数(总额)。

    SUM() 语法

    SELECT SUM(column_name) FROM table_name

    --#1
    /*
    Show the total population of the world.
    表world包含的字段:
    world(name, continent, area, population, gdp)
    */
    SELECT SUM(population)
    FROM world
    

    知识点:
    SELECT DISTINCT 语句
    关键词 DISTINCT 用于返回唯一不同的值。
    语法:SELECT DISTINCT 列名称 FROM 表名称

    --#2
    /*
    List all the continents - just once each.
    */
    SELECT DISTINCT(continent)
    FROM world
    
    --#3
    /*
    Give the total GDP of Africa 
    */
    SELECT SUM(GDP) FROM world
    WHERE continent = 'Africa'
    
    --#4
    /*
    How many countries have an area of at least 1000000 
    */
    SELECT COUNT(name) FROM world
    WHERE area >= 1000000
    
    --#5
    /*
    What is the total population of ('Estonia', 'Latvia', 'Lithuania')
    */
    SELECT SUM(population) FROM world
    WHERE name IN ('Estonia', 'Latvia', 'Lithuania')
    

    知识点:
    GROUP BY 语句
    GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
    GROUP BY 语法
    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name

    --#6
    /*
    For each continent show the continent and number of countries. 
    */
    SELECT continent,COUNT(name)
    FROM world 
    GROUP BY continent
    
    --#7
    /*
    For each continent show the continent and number of countries with populations of at least 10 million. 
    */
    SELECT continent,COUNT(name) 
    FROM world
    WHERE population > 10000000
    GROUP BY continent
    

    知识点:
    HAVING 子句
    在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
    HAVING 语法
    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
    HAVING aggregate_function(column_name) operator value

    --#8
    /*
    List the continents that have a total population of at least 100 million. 
    */
    SELECT continent
    FROM world
    GROUP BY continent
    HAVING SUM(population) > 100000000
    

    相关文章

      网友评论

          本文标题:155、MySQL入门(五):SUM and COUNT用法

          本文链接:https://www.haomeiwen.com/subject/pqnmlftx.html