在 SQL 中,默認的排序方式是升序(ASC),如果你想改變排序的優先級,可以使用 ORDER BY
子句中的 DESC
(降序)關鍵字。
以下是一個簡單的例子,假設我們有一個名為 employees
的表,包含 id
、name
和 salary
列,我們想按照 salary
列降序排序,然后按照 name
列升序排序:
SELECT * FROM employees
ORDER BY salary DESC, name ASC;
在這個查詢中,salary DESC
會首先按照 salary
列的降序排序,然后 name ASC
會對結果集進行進一步的升序排序(在 salary
列已經排序的基礎上)。
如果你想強制 SQL 始終按照某個特定的列進行排序(即使該列的值完全相同),你可以在 ORDER BY
子句中為該列添加多個副本,每個副本之間用逗號分隔。例如,如果你總是想按照 id
列排序(無論其值如何),你可以這樣寫:
SELECT * FROM employees
ORDER BY id, salary DESC, name ASC;
在這個查詢中,結果首先會按照 id
列排序,然后按照 salary
列降序排序,最后按照 name
列升序排序。即使兩個員工的 id
值相同,他們也會根據 salary
和 name
的值進一步排序。