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

MySQL必知必会(汇总数据, 聚集函数)

2015-08-22 20:13 666 查看
SELECT AVG(prod_price) AS avg_price FROM products; #AVG只能用于单个列求平均值,如想计算多个列,必须用多个AVG()

SELECT AVG(prod_price) AS avg_price FROM products
WHERE vend_id = 1003; #AVG函数忽略列值为NULL的行

SELECT COUNT(*) AS num_cust FROM customers; #此时不忽略列为NULL的行

SELECT COUNT(cust_email) AS num_cust FROM customers; #此时忽略列为NULL的行

SELECT MAX(prod_price) AS max_price
FROM products; #忽略列为NULL的行

SELECT MIN(prod_price) AS max_price
FROM products; #忽略列为NULL的行

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

SELECT SUM(item_price*quantity) AS total_price FROM orderitems
WHERE order_num = 20005; #忽略列值为NULL的行

SELECT AVG(DISTINCT prod_price) AS avg_price FROM products # 以上5个聚集函数,默认是对所有的行进行计算(ALL),
WHERE vend_id = 1003; #如果只包含不同的值,可在列名前指定DISTINCT,但DISTINCT不能用于COUNT(*)。

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;


MySQL常用的聚集函数如下表,另外MySQL还支持一系列的标准偏差聚集函数:

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