• MySql聚集函数


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

    AVG

    # 计算供应商为1003的所有商品的平均值
    SELECT AVG(prod_price) AS avg_price
    FROM products
    WHERE vend_id = 1003;
    

    COUNT

    COUNT()函数有两种使用方式。

    1. 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
    2. 使用 COUNT(column) 对特定列中具有值的行进行计数, 忽略NULL值。
    # 计算拥有email信息的顾客的数量
    SELECT COUNT(cust_email) AS num_cust
    FROM customers;
    
    # 计算customers表中客户的总数
    SELECT COUNT(*) AS num_cust
    FROM customers;
    

    MAX

    # 计算商品表中最贵的商品价格
    SELECT MAX(prod_price) AS max_price
    FROM products;
    

    注意:虽然 MAX() 一般用来找出最大的数值或日期值,但MySQL允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。在用于文本数据时,如果数据按相应的列排序,则MAX()返回最后一行

    MIN

    # 计算商品表中最便宜的商品价格
    SELECT MIN(prod_price) AS max_price
    FROM products;
    

    注意:MIN() 函数与 MAX() 函数类似,MySQL允许将它用来返回任意列中的最小值,包括返回文本列中的最小值。在用于文本数据时,如果数据按相应的列排序,则MIN()返回最前面的行

    SUM

    下面举一个例子,orderitems表包含订单中实际的物品,每个物品有相应的数量( quantity )。 可如下检索所订购物品的总数(所有 quantity值之和)

    SELECT SUM(quantity) AS items_ordered
    FROM orderitems
    WHERE order_num = 20005;
    

    聚合组合函数

    聚合组合函数,实际上SELECT 语句可根据需要包含多个聚集函数

    # 
    SELECT COUNT(*) AS num_items,
    MIN(prod_price) AS min_price
    MAX(prod_price) AS max_price
    AVG(prod_price) AS avg_price
    FROM products;
    

    注意:在指定别名以包含某个聚集函数的结果时,不应该使用表中实际的列名。虽然这样做并非不合法,但使用唯一的名字(别名)会使你的SQL更易于理解和使用

  • 相关阅读:
    BCB 如何让Application收到SendMessage发送来的消息
    用BCB 画 Code128 B模式条码
    遍历SQL SERVER中所有存储过程和触发器
    EXCEL导入数据到SQL SERVER 2008
    TListView控件的ReadOnly属性的一个Bug
    Using Microsoft Visual C++ DLLs with C++Builder
    行列转换的例子
    WCF 使用Stream模式进行文件上传 --节选自Packt.Net.Framework.4.5.Expert.Programming.Cookbook
    WCF Endpoint分类
    SQL Error: 1064, SQLState: 42000
  • 原文地址:https://www.cnblogs.com/yesyes/p/15375206.html
Copyright © 2020-2023  润新知