1. 程式人生 > 實用技巧 >MySQL ORDER BY 關鍵字

MySQL ORDER BY 關鍵字

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。