一、语法
ORDER BY { expression [ sort_direction | nulls_sort_order ] [ , … ] }
二、参数
| 子句/关键字 | 说明 |
| ORDER BY | 指定以逗号分隔的表达式列表,可附加 sort_direction 和 nulls_sort_order 参数来控制行排序。 |
| expression | 需要排序的列名。 |
| sort_direction | 可选指定行的升序或降序排序。有效值为 ASC(升序)和 DESC(降序)。若未显式指定,默认按升序排列。 语法:[ ASC | DESC ] |
| nulls_sort_order | 可选指定 NULL 值在非 NULL 值之前/之后返回。若未指定:升序排序时 NULL 默认排在最前。降序排序时 NULL 默认排在最后。若指定:NULLS FIRST 时,无论排序方向如何,NULL 值总在最前。NULLS LAST 时,无论排序方向如何,NULL 值总在最后。语法:[ NULLS { FIRST | LAST } ] |
三、示例
— ORDER BY ASCSELECT * FROM VALUES (3,'c'),(1,'a'),(2,'b') AS t(id,name) ORDER BY id ASC– ORDER BY DESCSELECT * FROM VALUES (3,'c'),(1,'a'),(2,'b') AS t(id,name) ORDER BY id DESC– ORDER BY NULLS FIRSTSELECT * FROM VALUES (3,NULL),(1,'a'),(2,NULL) AS t(id,name) ORDER BY name ASC NULLS FIRST– ORDER BY NULLS LASTSELECT * FROM VALUES (3,NULL),(1,'a'),(2,NULL) AS t(id,name) ORDER BY name ASC NULLS LAST