ORDER BY 對結果集排序,默認升序(ASC),支援多列排序與 DESC 降序。
SELECT col1, col2 FROM table_name ORDER BY col1 [ASC|DESC], col2 [ASC|DESC];
ORDER BY = order by。ORDER BY annual_salary DESC、ORDER BY YEAR(hire_date)。-- Person 表
FirstName | LastName | Age
Glenn | Quagmire | 33
Peter | Griffin | 35
-- PHP 查詢
SELECT * FROM person ORDER BY age;
-- 輸出:Glenn 33 → Peter 35(升序)
-- 降序
SELECT * FROM person ORDER BY age DESC;
-- 輸出:Peter 35 → Glenn 33
SELECT dept, salary, name FROM emp
ORDER BY dept ASC, salary DESC;
-- 先按部門升序,同部門內按薪資降序
ORDER BY 列與索引順序一致(含方向)可避免 filesort。(dept ASC, salary DESC) 完美支援上例。EXPLAIN 出現 Using filesort 表示需優化索引或重寫查詢。