美文网首页
chapter12:汇总数据

chapter12:汇总数据

作者: WeirdoSu | 来源:发表于2017-12-19 11:23 被阅读0次

    聚集函数

    常常需要汇总数据而不用把它们实际检索出来。

    • 确定表中行数;
    • 获得表中行组的和;
    • 找出表列的最大值、最小值和平均值
    函数 说明
    AVG() 返回某列的平均值
    COUNT() 返回某列的行数
    MAX() 某列的最大值
    MIN() 某列的最小值
    SUM() 某列值之和

    聚集函数(aggregate function):运行在行组上,计算和返回单个值的函数。

    函数 说明
    AVG() 返回某列的平均值
    COUNT() 返回某列的行数
    MAX() 某列的最大值
    MIN() 某列的最小值
    SUM() 某列值之和

    例:

    AVG()

    SELECT AVG(prod_price) AS avg_price
    FROM products
    WHERE vend_id = 1003;
    

    COUNT():注意NULL值,如果指定列名则空的行被忽略,如果是*则不忽略。

    SELECT COUNT(*) AS num_cust
    FROM customers;
    
    SELECT COUNT(cust_email) AS num_cust
    FROM customers;
    

    其他函数用法相同,注意MAX()和MIN()都忽略NULL值,SUM()可以汇总计算值。

    SELECT SUM(item_price*quantity) AS total_price
    FROM orderitems
    WHERE order_num = 20005;
    

    聚集不同值

    聚集函数的DISTINCT的使用只在MySQL5之后的版本可用。

    • 对所有的行执行计算,指定ALL参数,默认;
    • 只包含不同的值,指定DISTINCT参数。
    SELECT AVG(DISTINCT prod_price) AS avg_price
    FROM products
    WHERE vend_id = 1003;
    

    组合聚合函数

    SELECT COUNT(*) AS num_items,
           MIN(prod_price) AS price_min,
           MAX(prod_price) AS price_max,
           AVG(prod_price) AS price_avg
    FROM products;
    

    相关文章

      网友评论

          本文标题:chapter12:汇总数据

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