在 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 的值進一步排序。