Mysql中ORDER BY 排序怎麼使用?指定順序和多欄位排列

ORDER BY 預設按升序排列,因此 ASC (升序)子句是可選的。

另外,還可以按降序排列,為此可以使用 DESC(降序)。

ORDER BY 子句中還可以用數字來表示對應的列 3 對應於 SELECT 中指定的第 3 列,即工資。

按從左到右的順序依次根據 ORDER BY 子句中指定的列進行排序。

指定用於排序的列時,如果使用的是 SELECT 子句中列的數字位置,那麼指定的數字不能超過 SELECT 子句中指定的列數。(不能超出索引)

通常,可以按 SELECT 子句中未指定的列進行排序,但必須指定列名。然而,如果在查詢中使用了GROUP BY 或 DISTINCT 子句,就不能按SELECT 子句中未指定的列進行排序。

按指定順序返回查詢結果

姓名       年齡               工資 ----------  ---------  ---------- 王明        25            1300 李雷        26            2450 趙勇        25            5000

要求:顯示部門編號為 10 的員工的姓名、職位和薪水,並根據薪水按從低到高的順序排列想獲得上面這樣的資料結果

select 姓名,年齡,工資   from 工作表  order by 工資 asc  # 使用對應的數值代表列也是可以的  # order by 3 asc

多欄位排列

如果想對錶中多個欄位進行不同的排列如工資表按照升序排列,年齡按照降序排列

可以再ORDER之後用逗號隔開不同排列的欄位

select 姓名,年齡,工資   from 工作表  order by 工資 asc ,年齡 desc