MySQL-排序檢索

關係數據庫設計理論認爲:如果沒有明確規定排序,則檢索出的順序是沒有意義的。

因此我們之前用SELECT…FROM…;來檢索數據,得出的數據的順序是沒有意義的。

那麼怎麼對檢索出的數據進行排序呢?
我們用ORDER BY 子句

SELECT prod_name
FROM products
ORDER BY prod_name;  #按照prod_name進行排序

當然,prod_name中也會有相同數據出現的情況,因此,我們也可以指定多個列來進行排序,第一列有相同的就再比較第二列

SELECT prod_name
FROM products
ORDER BY prod_name, prod_id; #再加個prod_id進行排序

如果prod_name內的數據都是唯一的,那麼也就用不到prod_id排序了

說到排序,當然會有升序和降序的分類
ORDER BY 默認的是升序(數值—>A–>Z)
降序的話要加DESC (Z—>A)

無序

SELECT prod_name
FROM prodcuts;

這裏寫圖片描述
升序

SELECT prod_name
FROM products
ORDER BY prod_name;   

這裏寫圖片描述

降序

SELECT prod_name
FROM products
ORDER BY prod_name DESC;

這裏寫圖片描述

如果按多列進行排序,DESC只會應用到它前面的那一列

SELECT prod_name, prod_price
FROM products
ORDER BY prod_price DESC, prod_name;  #DESC只會對prod_price降序, prod_name依然按默認的升序顯示

現在我們就可以用ORDER BY 和 LIMIT組合,來選出最貴的產品了

SELECT prod_name, prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

這裏寫圖片描述

注意順序:ORDER BY 在FROM後,在LIMIT 前

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章