order by
用于对表进行排序。 详情参见 https://www.postgresql.org/docs/current/queries-order.html
SELECT select_list
FROM table_expression
ORDER BY sort_expression1 [ASC | DESC] [NULLS { FIRST | LAST }]
[, sort_expression2 [ASC | DESC] [NULLS { FIRST | LAST }] ...]
当指定了多个表达式时,后面的值用于根据前面的值对相等的行进行排序。
- 每个表达式后面都可以跟一个可选的
ASC
或DESC
关键字,以将排序方向设置为升序或降序。 - 可选参数
NULLS FIRST
可NULLS LAST
用于确定空值是出现在排序顺序中的非空值之前还是之后。默认(NULLS FIRST)
其中sort_expression
可以是任何有效的表达式如
SELECT a, b FROM table1 ORDER BY a + b, c;
SELECT a, b FROM table1 ORDER BY CASE WHEN a >= 0 and b THEN a ELSE -1 END, c;