本部落格所用到的sql檔案
Mysql統計函數函數
max() | 求最大值 |
count() | 求行數 |
avg() | 求平均函數 |
min() | 求最小值 |
sum() | 求總和 |
例如:有一個goods表如下(資料見文章頭的下載下傳入口):
計算平均價格:
SELECT avg(shop_price) from goods;
結果如下:
計算商品的行數:
SELECT COUNT(1) from goods;
結果如下:
計算商品的總價:
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分組統計:
計算每種分類(cat_id)的平均價格(shop_price):
SELECT cat_id,AVG(shop_price) from goods GROUP BY cat_id;
group by 是先按照 cat_id的大小進行排序,然後根據 cat_id 進行計算,資源消耗比較大。
計算每種分類(cat_id)的數量:
SELECT cat_id,COUNT(1) from goods GROUP BY cat_id;
*查出每種分類(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;
此處需要借助子查詢和關鍵字 IN ;