汇总数据(聚集函数)

1. SQL 聚集函数

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

1.1 AVG() 平均值函数

AVG() 对表中行数计算并计算其列值之和,求得该列的平均值。

# 所有产品的平均价格
SELECT AVG(prod_price) AS avg_price
FROM Products;

AVG函数将忽略null 的行

1.2 COUNT() 函数

COUNT()确定表中的行数目或符合特定条件的行的数目

·两种使用方式

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

    SELECT COUNT(*) AS num_cust
    FROM Customers;
    
  • 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL

    SELECT COUNT(cust_email) AS num_cust
    FROM Customers;
    

1.3 MAX() 函数

MAX()返回指定列的最大值,MAX()要求指定列名

SELECT MAX(prod_price) AS max_price
FROM Products;
  • MAX() 一般用来找出最大的数值或日期值,对于文本返回该列排序后的最后一行
  • MAX() 忽略值为NULL 的行

1.4 MIN() 函数

MIN() 返回指定列的最小值

SELECT MIN(prod_price) AS min_price
FROM Products;

1.5 SUM() 函数

SUM() 返回指定列值的和(总和)

SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num = 20005;
  • SUM 忽略NULL值

2. SQL 聚集不同值

  • 对所有行执行计算,指定ALL参数或不指定参数(ALL 是默认行为)
  • 只包含不同值,指定DISTINCT
SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend_id ='DLL01';

3. 组合聚集函数

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;

results matching ""

    No results matching ""