SORT BY

最近更新时间:2026-05-20 14:11:22

我的收藏

描述

SORT BY 子句用于在每个分区内排序行,与 ORDER BY 不同,它不保证全局排序。

语法

SORT BY { expression [ sort_direction | nulls_sort_order ] [ , ... ] }

参数

子句/关键字
说明
SORT BY
指定以逗号分隔的表达式列表,可附加参数 sort_directionnulls_sort_order,用于在每个分区内对行进行排序
expression
需要分类的列名。
sort_direction
可选参数,指定升序或降序排序。有效值为 ASC(升序)和 DESC(降序)。若未显式指定,默认使用升序。​ 语法:[ ASC | DESC ]
nulls_sort_order
可选参数,指定 NULL 值在非 NULL 值之前/之后返回。若未指定:
当排序方向为 ASC 时,NULL 值排在最前面
当排序方向为 DESC 时,NULL 值排在最后面
具体规则:
NULLS FIRST:无论排序方向如何,NULL 值始终在最前面
NULLS LAST:无论排序方向如何,NULL 值始终在最后面
语法: [ NULLS { FIRST | LAST } ]

示例

-- SORT BY id
SELECT * FROM VALUES (3,'c'),(1,'a'),(2,'b') AS t(id,name) SORT BY id