您的位置:首页 > 数据库 > MySQL

mysql 汇总数据 学习笔记

2016-08-10 17:25 337 查看
聚集函数:对于某些行 运行的函数,计算并返回一个值

AVG(): 返回某列的平均值

COUNT(): 返回某列的行数

MAX(): 返回某列的最大值

MIN(): 返回某列的最小值

SUM(): 返回某列值之和

SELECT AVG(prod_price) AS avg_price FROM Products;


AVG()只能用于单列,为了获得多个列的平均值需要用多个AVG函数。

AVG()忽略列值为NULL的行。

COUNT()函数进行计数。

COUNT(*)对表中行数进行计数(不管列值是NULL值还是非空值)。

SELECT COUNT(*) AS num_cust FROM Customers;


SELECT COUNT(cust_email) AS num_cust FROM Customers;


注意对于NULL值。

如果指定列名,则COUNT()函数会忽略指定列值为空的行。但是COUNT(*)是不会忽略的。

MAX()函数

SELECT MAX(prod_price) AS max_price FROM Product;


提示:

对非数值数据使用MAX()函数时。对于文本数据的话就是对该列进行排序后取最后一行。

MAX()忽略列值为NULL的行。

MIN()函数与MAX()函数类似。

SUM()函数

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


SELECT SUM(quantity * item_price) AS total_price FROM OrderItems WHERE order_num = 20005;


SUM()忽略列值为NULL的行。

聚合参数ALL默认和DISTINCT

SELECT AVG(DISTINCT prod_price) AS avg_price FROM Products WHERE vend_id = 'DLL01';
这里用了DISTINCT参数是指只参考不同值的平均值与实际的平均值可以不是很符合。

DISTINCT只能用于COUNT()不能用于COUNT(*), DISTINCT必须使用列名。

SELECT  COUNT(*) AS num_items,

MAX(prod_price) AS price_max,

MIN(prod_price) AS price_min,

AVG(prod_price) AS price_avg

FROM Products;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 聚集