汇总数据

2015/07/04 数据库开发

聚集函数

1、确定表中行数(或者满足某个条件或包含某个特定值的行数)

2、获得表中行组的和

3、找出表列(或所有行某些特定的行)的最大值、最小、平均值。

聚集函数运行在行组上,计算和返回单个值得函数。

AVG()函数

通过对表中行数计数并计算特定列值之和,求得该列的平均值。

SELECT AVG(prod_price) AS avg_price
FROM Products;

SELECT AVG(prod_price) AS avg_price
FROM Products;
WHERE vend_id='DLL01';

COUNT()函数

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

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

2、使用COUNT(column)对特定列中具有值得行进行计数,忽略NULL值。

例如返回Customers表中客户的总数:

SELECT COUNT(*) AS num_cust
FROM Customers;

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

SELECT COUNT(cust_email) AS num_cust
FROM Customers;

MAX和MIN函数

SELECT MAX(prod_price) AS max_price
FROM Products;
SELECT MIN(prod_price) AS min_price
FROM Products;

SUM函数

返回指定列值得和:

SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num=2005;
SELECT SUM(item_price*quantity) AS items_ordered
FROM OrderItems
WHERE order_num=2005;

聚集不同值

使用AVG函数返回特定供应商提供的产品的平均价格。但使用了DISTINCT参数,因此平均值只会考虑各个不同的价格:

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend_id='DLL01';

组合聚集函数

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;

Search

    Post Directory