天天看點

Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

本部落格所用到的sql檔案

Mysql統計函數函數

max() 求最大值
count() 求行數
avg() 求平均函數
min() 求最小值
sum() 求總和

例如:有一個goods表如下(資料見文章頭的下載下傳入口):

Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

計算平均價格:

SELECT avg(shop_price) from goods;
           

結果如下:

Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

計算商品的行數:

SELECT COUNT(1) from goods;
           

結果如下:

Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

計算商品的總價:

SELECT SUM(shop_price) from goods;
           

計算商品的價格最大值:

SELECT MAX(shop_price) from goods;
           

計算商品的價格最小值:

SELECT MIN(shop_price) from goods;
           

計算商品庫存商品的總價值:(例如序号1商品,goods_number=1件,shop_price=1388元,該商品庫存價值為1x1388=1388元)

SELECT SUM(shop_price*goods_number) AS total_prices from goods;
           
Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

Mysql分組統計:

Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

計算每種分類(cat_id)的平均價格(shop_price):

SELECT cat_id,AVG(shop_price) from goods GROUP BY cat_id;
           

group by 是先按照 cat_id的大小進行排序,然後根據 cat_id 進行計算,資源消耗比較大。

Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

計算每種分類(cat_id)的數量:

SELECT cat_id,COUNT(1) from goods GROUP BY cat_id;
           
Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

*查出每種分類(cat_id)下價格最大的商品的序号(goods_id)、名稱(goods_name)以及所屬的分類(cat_id),并且按照(cat_id)順序從小到大排序;

SELECT  goods_id,cat_id,goods_name,shop_price FROM goods WHERE  shop_price IN 
(SELECT MAX(shop_price) from goods GROUP BY cat_id) ORDER BY cat_id;
           
Mysql——group分組與統計函數Mysql統計函數函數Mysql分組統計:

此處需要借助子查詢和關鍵字 IN ;

繼續閱讀