在 PostgreSQL 中,ORDER BY 子句用于对查询结果进行排序。你可以指定一个或多个列,并指定升序(ASC)或降序(DESC)的排序方式。以下是 ORDER BY 子句的基本语法:
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...;

其中:
  •  column1, column2, ... 是要检索的列。

  •  table_name 是要从中检索数据的表格的名称。

  •  ORDER BY 子句后面是要排序的列名,可以同时指定多个列。


以下是一些使用 ORDER BY 子句的示例:

1. 单列排序:
SELECT * FROM employees
ORDER BY last_name;

在这个例子中,结果将按照姓氏升序排序。

2. 多列排序:
SELECT * FROM orders
ORDER BY order_date DESC, customer_id;

在这个例子中,首先按照订单日期降序排序,然后按照客户 ID 升序排序。

3. 指定排序方式:
SELECT * FROM products
ORDER BY price DESC;

在这个例子中,结果将按照价格降序排序。

4. 结合 LIMIT 进行分页:
SELECT * FROM customers
ORDER BY last_name
LIMIT 10 OFFSET 20;

在这个例子中,按照姓氏排序后,获取排序结果集的第 21 到 30 行,实现分页效果。

5. 使用表达式排序:
SELECT * FROM products
ORDER BY (price * discount) DESC;

在这个例子中,可以使用表达式来排序,例如,按照价格乘以折扣的结果降序排序。

ORDER BY 子句对于结果集的排序非常灵活,你可以根据实际需求选择不同的列和排序方式。


转载请注明出处:http://www.zyzy.cn/article/detail/14135/PostgreSQL