MySQL資料彙總與聚集函式——MySQL系列(七)
阿新 • • 發佈:2019-01-10
1、聚集函式
聚集函式是執行在行組上,計算和返回單個值的函式。
函式 | 說明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行數 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某個列之和 |
(1)、AVG()函式
可以返回所有列的平均值,也可以返回特定列的平均值。SELECT AVG(prd_price) AS avg_price FROM products
Where vend_id=1003;
將過濾出vend_id=1003的產品,avg是這些產品的平均值.
(2)、COUNT()函式
COUNT(*)對錶中行的數目進行計數,不管表列中包含的是空(NULL)還是非空值; COUNT(column)對特定列中有值的行進行計算,忽略(3)、MAX()函式
MAX()返回指定列的最大值,要求指定列名,忽略NULL值。 在MySQL中,MAX()函式可以對非資料列使用,在用於文字資料時,如果資料按相應的列排序,MAX()返回最後一行。(4)、MIN()函式
MIN()返回指定列的最小值,要求指定列名,忽略NULL值。在MySQL中,MIN()函式可以對非資料列使用,在用於文字資料時,如果資料按相應的列排序,MIN()返回最前面的一行。
(5)、SUM()函式
用來返回指定列的和(總計),忽略NULL值的行。SUM()也可以合計計算值。SELECT SUM(num) AS prod_sum---返回指定訂單號中的商品數量 FROM products Where order_id=123456;
SELECT SUM(item_price*num) AS totol_price FROM order_items--返回訂單中所有商品價格和。
Where order_id=123456;
2、聚集不同值
DISTINCT關鍵字 如下面的SQL將返回vend_id=1003的不同價格商品的平均值SELECT AVG(DISTINCT prd_price) AS avg_price FROM products
Where vend_id=1003;
3、組合聚集函式
聚集函式可以組合使用SELECT count(*) AS num, MIN(prod_price) AS price_min, MAX(prod_price) AS price_max, AVG(prod_price) AS price_avg FROM products;