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