zoukankan      html  css  js  c++  java
  • 第四部分 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;

    ----------------------------------- 心之所向,素履所往;生如逆旅,一苇以航。 ------------------------------------------
  • 相关阅读:
    1017 A除以B (20分)**
    剑指 Offer 11. 旋转数组的最小数字(简单)
    剑指 Offer 04. 二维数组中的查找(中等)
    剑指 Offer 53
    剑指 Offer 53
    剑指 Offer 03. 数组中重复的数字(简单)
    剑指 Offer 58
    剑指 Offer 05. 替换空格(简单)
    执行npm install命令出错问题
    剑指 Offer 35. 复杂链表的复制(中等)
  • 原文地址:https://www.cnblogs.com/wzw0625/p/12607492.html
Copyright © 2011-2022 走看看