MySQL是一個廣泛使用的數據庫管理系統,它支持多種排序方式,其中之一就是ORDER BY語句。
ORDER BY語句用于根據一個或多個列對查詢結果進行排序,可按升序或降序排列。默認情況下,ORDER BY語句按升序排列。
下面是一個示例查詢:
SELECT * FROM employees ORDER BY last_name ASC;
以上查詢將結果按照last_name列的升序排列。如果要按照降序排列,則需要在列名后追加DESC關鍵字:
SELECT * FROM employees ORDER BY last_name DESC;
可以一次按多個列進行排序,只需在ORDER BY子句中列出列名,并用逗號分隔即可:
SELECT * FROM employees ORDER BY last_name, first_name;
以上查詢將先按照last_name列排序,對于相同的值,則按照first_name列排序。
需要注意的是,在使用ORDER BY子句進行多列排序時,列名的順序會影響排序結果。
ORDER BY語句也可以在聚合函數(如SUM,AVG,COUNT等)中使用,使結果按聚合值進行排序:
SELECT AVG(salary) as avg_salary FROM employees GROUP BY department_id ORDER BY avg_salary DESC;
以上查詢將每個部門的平均工資進行聚合,并按照平均工資降序排列。
ORDER BY語句可以與LIMIT子句一起使用,以限制結果集的大小,并按照指定的順序返回子集:
SELECT * FROM employees ORDER BY hire_date DESC LIMIT 10;
以上查詢將返回按照雇傭日期降序排列的10個最新的雇員記錄。