📅  最后修改于: 2023-12-03 14:54:39.221000             🧑  作者: Mango
在 PostgreSQL 中,可以使用 ORDER BY
子句对查询结果排序。默认情况下,排序是升序的(从小到大),但是可以通过在列名后加上 DESC
来指定降序排序(从大到小)。
举个例子,假设我们有一个表 employees
,包含列 name
和 salary
,我们可以按照 salary
列对这个表进行降序排序,如下所示:
SELECT name, salary
FROM employees
ORDER BY salary DESC;
这个查询语句将返回按照 salary
列降序排列的所有员工的名字和薪水。
在 PostgreSQL 中,除了列名之外,也可以使用列位置引用列。例如,上面的查询语句可以写成:
SELECT name, salary
FROM employees
ORDER BY 2 DESC;
这里的 2
表示第二列,也就是 salary
列。
需要注意的是,如果要在多个列上进行排序,可以在 ORDER BY
子句中指定多个列名或列位置,用逗号分隔。例如,按照 salary
列进行降序排序,如果 salary
相同,则按照 name
列进行升序排序,可以使用以下查询语句:
SELECT name, salary
FROM employees
ORDER BY salary DESC, name ASC;
这个查询语句将返回按照 salary
列降序排列的所有员工的名字和薪水,如果 salary
相同,则按照 name
列升序排列。