阅读量:0
在 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
的值进一步排序。