排序查詢函數
/*排序
排序查詢:對查詢結構進行排序it
關鍵字:order by 字段名 [ASC|DESC]基礎
ASC:升序(從小到大),默認的分頁
DESC:降序(從大到小)im
*/統計
# 查詢全部記錄的name和price,結構按照價格 從大到小進行排序數據
SELECT pname,price FROM product ORDER BY price DESC;查詢
#1.查詢全部商品信息,使用價格排序(降序)vi
SELECT * FROM product ORDER BY price DESC;
#2.查詢全部商品信息,在價格排序(降序)的基礎上,以分類排序(降序)
#先將查詢結果 在價格上進行降序,若是價格相同再以分類進行降序,若是價格不相同,不在對分類進行排序
SELECT * FROM product ORDER BY price DESC,category_id DESC;
#3.顯示商品的價格(去重複),並排序(降序)
SELECT DISTINCT price FROM product ORDER BY price DESC;
聚合查詢
/*
聚合查詢:
之前的查詢都是橫向記錄查詢
而聚合查詢是 縱向個數查詢
聚合查詢的特色:查詢到的結構 是單一值
聚合函數:
count:求記錄數的聚合函數,count函數會自動忽略空值
如下四個,一般用於數值的計算
max:求最大值
min:求最小值
avg:求平均值
sum:求和
*/
#查詢統計多有商品的個數
SELECT COUNT(*) FROM product;
#查詢統計一共有多少個分類
SELECT COUNT(category_id) FROM product;
#查詢全部商品價格的最大值
SELECT MAX(price) FROM product;
#查詢全部商品價格的最小值
SELECT MIN(price) FROM product;
#查詢全部商品價格的最平均值
SELECT AVG(price) FROM product;
#查詢全部商品價格的總值
SELECT SUM(price) FROM product;
#查詢全部商品價格的最大值,最小值,平均值,總和
SELECT MAX(price) AS 最大值,MIN(price) 最小值,AVG(price) 平均值,SUM(price) 總和 FROM product;
分組查詢
/*
分組查詢:
把查詢數據分爲幾個組
關鍵字: group by 字段
先分組,再查詢,具體查詢到的結果數,取決於能分多少組
若是分組後 還有須要條件判斷 那麼請用having關鍵字
where和having的區別:
where 寫在 基本查詢後面的
having 寫在 分組查詢後面的
where後面是不能寫 count sum等聚合函數
having後面能夠寫count和sum等聚合函數
*/
#查詢全部以category_id分組後的價格的總和
# 具體有多少個總和 取決於能夠分多少組
SELECT SUM(price) FROM product GROUP BY category_id;
#0 統計全部商品的個數
SELECT COUNT(*) FROM product;
#1 統計各個分類商品的個數
SELECT COUNT(*) FROM product GROUP BY category_id;
#2 統計各個分類商品的個數,且只顯示個數大於1的信息
SELECT category_id, COUNT(*) 個數 FROM product GROUP BY category_id HAVING 個數 > 1;
分頁查詢
/*
分頁查詢:
只查詢記錄中的一部分
關鍵字: limit 數值1(下標,從0開始),數值2(須要查出來記錄數)
*/
SELECT * FROM product LIMIT 0,5;
SELECT * FROM product LIMIT 5,5;
SELECT * FROM product LIMIT 10,5;
# 查詢的公式: 假設每一頁我要查詢 n條
# 第1頁 limit (1-1)*n,n
# 第2頁 limit (2-1)n,n
# 第100頁 limit (100-1)*n,n
# 第m頁 limit (m-1)*n,n