zoukankan      html  css  js  c++  java
  • MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)

    备注:sum和count的不同:

    count()函数里面的参数是列名的的时候,那么会计算有值项的次数。   //行数
    Sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。 //行内数据的和


    table test

    FieldTypeNullKeyDefaultExtra
    idint(11)NOPRINULLauto_increment
    namechar(50)NO
    NULL
    ageint(11)NO
    NULL
    schoolchar(50)YES
    NULL

    (一)AVG()函数

    AVG()通过对表中行数计数并计算特定列值之和,从而求得该列的平均值。

    例如:SELECT  AVG(age)  AS  avg_age  FROM test;

    此语句返回表test中所有age的平均值。

    例如:SELECT AVG(age) AS  avg_age FROM  test WHERE name="john";

    此语句返回表test中name=john的age的平均值。

    注:AVG只能确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个avg函数。而且avg函数会忽略列值为NULL的行。

     

    (二)COUNT()函数

    COUNT()函数进行计数。可利用COUNT()函数确定表中行的数目或者符合特定条件的行的数目。

    COUNT()有两种使用方式:

    1.使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。

    2.使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。

    例如 SELECT COUNT(*)  AS num_test  FROM test;

    此语句对表test所有行进行计数,返回表的总行数,不管行中各列有什么值。

     

    例如 SELECT COUNT(school) FROM test;

    此语句只对school列中有值的行进行计数,忽略null行。

     

    (三)MAX()函数

    MAX()函数返回指定列中的最大值。MAX()要求指定列名。

    例如SELECT MAX(age) FROM test;

    此语句返回表test中age的最大值。

    注:MAX()函数忽略值为NULL的行。

     

    (四)MIN()函数

    MIN()函数返回指定列的最小值,MIN()要求指定列名。

    例如 SELEC  MIN(age)  FROM test;

    此语句返回最小的age值。

    注:MIN()函数忽略列值为NULL的行。

     

    (五)SUM()函数

    SUM()函数来返回指定列值的和(总计)。

    SELECT  SUM(age)FROM test;

    此语句返回age列所有值之和。

    注:SUM函数忽略列值为NULL的行。SUM也可以用来合计计算值,SUM(price*count)。

     

    (六)聚集不同值

    对以上5个聚集函数都可以如下使用:

    1.对所有行执行计算,指定ALL参数或者不给参数(ALL参数是默认的)

    2.只包含不同的值,指定DISTINCT参数

    例如SELECT  AVG(DISTINCT age) FROM test;

    此语句返回age值不同的所有age值的平均值。

    注:DISTINCT只能用在列名前面,不能用在表达式前。

  • 相关阅读:
    感想2
    感想1
    记录4
    记录3
    记录2
    记录1
    库存物资管理系统-测试
    开学测试
    大二下开学测试有感
    大二下周总结一
  • 原文地址:https://www.cnblogs.com/idjl/p/9610576.html
Copyright © 2011-2022 走看看