十二章 汇总数据

来源:互联网 发布:centos 7 1611下载 编辑:程序博客网 时间:2024/05/20 15:37

十二章 汇总数据
可以使用的地方:
确定表中行数(或者满足某个条件或者包含某个特定值的行数)
获得表中行组的和
找出列表(或所有行或某些行的最大值,最小值,平均值)
聚集函数:运行在行组上,计算和返回单个值的函数
1 AVG()返回某列的平均值,只能用于单个列,且列名作为参数,如果计算多个列的平均数需要多个AVG()
AVG()通过对表中的行数计数并计算特定列值之和,求得该列的平均值。可用来返回所有列的平均值也可用来返回特定列或行的平均值

 SELECT AVG(price) AS avg_price FROM products;  SELECT AVG(price) AS avg_price FROM products WHERE id=1002;

2 COUNT()返回某列的行数
COUNT(*)对表中的行进行计数,不管表列中包含的是空值还是非空值
COUNT(column) 对特定列中具有值的行进行计数,忽略NULL值

SELECT COUNT(*) AS num FROM customers;SELECT COUNT(cust_email) AS num_cast FROM customers

3 MAX()MIN()返回指定列的最大/小值,需要指定列名

 SELECT MAX(price) AS max_price FROM products SELECT MIN(price) AS min_price FROM products

4 SUM()返回某列的和

SELECT SUM(quanity) AS orders FROM orderitem WHERE order_num=20005;得出总的订单金额  SELECT SUM(quanity*price) AS total_price FROM orderitem WHERE order_num=20005;

对以上5个函数都是默认为所有行,如果只包含不同的值,指定DISTINCT参数
SELECT AVG(DISTINCT price) AS avg_price FROM WHERE id=1003 考虑不同价格的平均值
如果指定列名,DISTINCT 只能用于COUNT()不能用于COUNT(*),所以不允许使用COUNT(DISTINCT),否则产生错误

组合聚集函数

SELECT COUNT(*) AS num_items,  MIN(price) AS price_min,  MAX(price) AS price_max,  AVG(price) AS price_avg,FROM products;
原创粉丝点击