• 第四部分 SQL聚集函数


    聚集函数只是汇总数据而不用把它们实际检索出来,运行在行组上,计算和返回单个值的函数。

    示例:返回products表中物品的数目,产品价格的最高、最低和平均值

    SQL语句: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;

    1) AVG()函数

    AVG()通过对表中行数计数并计算特定列值之后,求得该列的平均值,它既可以用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

    示例1:返回products表中所有产品的平均价格

    SQL语句:SELECT AVG(prod_price) AS avg_price FROM products;

    示例2:返回特定供应商所提供的产品平均价格

    SQL语句:SELECT AVG(prod_price) AS avg_price FROM products WHERE vend_id=1003;

    示例3:返回特定供应商提供的产品的平均价格,平均值只考虑各个不同的价格

    SQL语句:SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id=1003;

    注意:AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG()函数,另外DISTINCT用于聚集函数时,必须指定列名,否则报错。

    (2) COUNT()函数

    COUNT()函数用于计数,可利用此函数确定表中行的数目或符合条件的行的数目。

    使用COUNT(column)对特定列中具有值的行进行计数,则指定列的值为空的行被COUNT()函数忽略,但如果使用COUNT(*)对表中行的数目进行计数,则不忽略。

    示例1:返回customers表中客户的总数

    SQL语句:SELECT COUNT(*) AS num_cust FROM customers;

    示例2:只对具有电子邮件地址的客户计数

    SQL语句:SELECT COUNT(cust_email) AS num_cust FROM customers;

    (3) MAX()函数

    MAX()函数返回指定列中的最大值,函数需要指定列名,并忽略列值为NULL的行。

    示例:返回products表中最贵的物品的价格

    SQL语句:SELECT MAX(prod_price) AS max_price FROM products;

    (4) MIN()函数

    MIN()函数功能与MAX()函数功能相反,它返回指定列的最小值,也需要指定列名。

    示例:返回products表中最便宜物品的价格

    SQL语句:SELECT MIN(prod_price) AS min_price FROM products;

    (5) SUM()函数

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

    示例1:检索物品订单号为20005的所订购物品的总量

    SQL语句:SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num = 20005;

    示例2:统计物品订单号20005中所有物品的订单总额(单价*数量)

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

    ----------------------------------- 心之所向,素履所往;生如逆旅,一苇以航。 ------------------------------------------
  • 相关阅读:
    赛前一个月
    Barricade---hdu5889(最短路+网络流)
    Tea---hdu5881(规律)
    The Best Path---hdu5883(欧拉路径)
    Cure---hdu5879(打表+找规律)
    Python列表操作
    Zabbix在Docker中的应用和监控
    flannel网络设置
    Volume
    Service资源清单
  • 原文地址:https://www.cnblogs.com/wzw0625/p/12607492.html
Copyright © 2020-2023  润新知