ORDER BY 關鍵字
過條件查詢語句可以查詢到符合用戶需求的數據,但是查詢到的數據一般都是按照數據最初被添加到表中的順序來顯示。為了使查詢結果的順序滿足用戶的要求,MySQL 提供了 ORDER BY 關鍵字來對查詢結果進行排序。
ORDER BY 關鍵字用於對結果集按照一個列或者多個列進行排序。
ORDER BY 關鍵字默認按照升序對記錄進行排序。如果需要按照降序對記錄進行排序,您可以使用 DESC 關鍵字。
ORDER BY 關鍵字主要用來將查詢結果中的數據按照一定的順序進行排序。其語法格式如下:
ORDER BY <字段名> [ASC|DESC]
語法說明如下:
- 字段名:表示需要排序的字段名稱,多個字段時用逗號隔開。
- ASC|DESC:ASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC為默認值。
使用ORDER BY 關鍵字應注意以下幾個方面:
- ORDER BY 關鍵字后可以跟子查詢
- 當排序的字段中存在空值時,ORDER BY 會將該空值作為最小值來對待。
- ORDER BY 指定多個字段進行排序時,MySQL 會按照字段的順序從左到右依次進行排序。
--查詢數據表數據
SELECT * FROM beimu

--這里我們查詢所有學生,按照學生的年齡大小驚醒ORDER BY 排序
--降序
SELECT
*
FROM
beimu
ORDER BY
bei_age DESC
執行結果:
--升序
SELECT
*
FROM
beimu
ORDER BY
bei_age ASC
執行結果:
注意:在對多個字段進行排序時,排序的第一個字段必須有相同的值,才會對第二個字段進行排序。如果第一個字段數據中所有的值都是唯一的,MySQL 將不再對第二個字段進行排序。
默認情況下,查詢數據按字母升序進行排序(A~Z),但數據的排序並不僅限於此,還可以使用 ORDER BY 中的 DESC 對查詢結果進行降序排序(Z~A)。
ORDER BY 多列的時候,先按照第一個需要排序的列名排序,在按照第二個列名排序;
- ORDER BY 排列時,不寫明ASC DESC的時候,默認是ASC。