【发布时间】:2014-01-24 08:54:31
【问题描述】:
在对查询进行降序或升序排序时,您什么时候需要先使用 NULLS?
在我看来,无论是升序还是降序排序,绝大多数的期望行为都是 NULLS LAST。相反,我们应该指定 NULLS FIRST。
【问题讨论】:
-
据说 SQL 标准没有指定
NULL应该如何排序,所以这取决于将它写入 Postgres 的人:en.wikipedia.org/wiki/Order_by -
为什么要先使用空值?
-
@usr 你能解释一下“为什么在 PostgreSQL 查询中排序 DESC 时 NULL 值首先出现”这个问题吗?是基于意见的吗?
-
@Bryan 我不认为总是首先或最后需要 NULL 是普遍的。如果 NULL 是重要的异常或缺失数据,您可能希望首先将它们展示给使用。如果它们代表不重要的案例,您希望最后显示它们。这完全取决于用例。 (有趣的是,您的问题包含“在我看来”这句话 :))。
-
如果空值是一个重要的异常 - 听起来像一个边缘情况。我的“问题描述”包含“我认为”,但问题没有。虽然我的描述是基于意见的,但问题不是“基于意见的问题”。
标签: sql database postgresql null sql-order-by