PostgreSQL - Order By语句

PostgreSQL - Order By语句 首页 / PostgreSQL入门教程 / PostgreSQL - Order By语句

PostgreSQL ORDER BY 子句用于根据一个或多个列以升序或降序对数据进行排序。

Order By - 语法

ORDER BY子句的基本语法如下-

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

您可以在ORDER BY子句中使用多个列。确保要用于排序的任何列,该列都应在column-list中可用。

Order By - 示例

考虑表 COMPANY 具有以下记录:

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Learnfk |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

以下是一个示例,它将按SALARY升序对输出进行排序-

testdb=# SELECT * FROM COMPANY ORDER BY AGE ASC;

这将产生以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/postgresql/postgresql-order-by.html

来源:LearnFk无涯教程网

  id | name  | age | address    | salary
 ----+-------+-----+------------+--------
   6 | Kim   |  22 | South-Hall |  45000
   3 | Teddy |  23 | Norway     |  20000
   7 | James |  24 | Houston    |  10000
   8 | Paul  |  24 | Houston    |  20000
   4 | Mark  |  25 | Rich-Mond  |  65000
   2 | Learnfk |  25 | Texas      |  15000
   5 | David |  27 | Texas      |  85000
   1 | Paul  |  32 | California |  20000
   9 | James |  44 | Norway     |   5000
  10 | James |  45 | Texas      |   5000
(10 rows)

以下是一个示例,它将按照NAME和SALARY的升序对输出进行排序-

testdb=# SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;

这将产生以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/postgresql/postgresql-order-by.html

来源:LearnFk无涯教程网

 id | name  | age | address      | salary
----+-------+-----+--------------+--------
  2 | Learnfk |  25 | Texas        |  15000
  5 | David |  27 | Texas        |  85000
 10 | James |  45 | Texas        |   5000
  9 | James |  44 | Norway       |   5000
  7 | James |  24 | Houston      |  10000
  6 | Kim   |  22 | South-Hall   |  45000
  4 | Mark  |  25 | Rich-Mond    |  65000
  1 | Paul  |  32 | California   |  20000
  8 | Paul  |  24 | Houston      |  20000
  3 | Teddy |  23 | Norway       |  20000
(10 rows)

以下是一个示例,它将按照NAME的降序对输出进行排序-

testdb=# SELECT * FROM COMPANY ORDER BY NAME DESC;

这将产生以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/postgresql/postgresql-order-by.html

来源:LearnFk无涯教程网

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  3 | Teddy |  23 | Norway     |  20000
  1 | Paul  |  32 | California |  20000
  8 | Paul  |  24 | Houston    |  20000
  4 | Mark  |  25 | Rich-Mond  |  65000
  6 | Kim   |  22 | South-Hall |  45000
  7 | James |  24 | Houston    |  10000
  9 | James |  44 | Norway     |   5000
 10 | James |  45 | Texas      |   5000
  5 | David |  27 | Texas      |  85000
  2 | Learnfk |  25 | Texas      |  15000
(10 rows)

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品手记 -〔邱岳〕

如何设计一个秒杀系统 -〔许令波〕

说透敏捷 -〔宋宁〕

后端存储实战课 -〔李玥〕

大厂晋升指南 -〔李运华〕

代码之丑 -〔郑晔〕

恋爱必修课 -〔李一帆〕

Web 3.0入局攻略 -〔郭大治〕

AI 应用实战课 -〔黄佳〕

好记忆不如烂笔头。留下您的足迹吧 :)