首頁 > 資料庫 > mysql教程 > 如何按日期對 PostgreSQL 記錄進行排序,其中 NULL 值在前?

如何按日期對 PostgreSQL 記錄進行排序,其中 NULL 值在前?

Mary-Kate Olsen
發布: 2025-01-23 02:45:10
原創
349 人瀏覽過

How to Order PostgreSQL Records by Date with NULL Values First?

PostgreSQL資料庫記錄依日期排序,空值優先

在PostgreSQL中,經常需要依照日期/時間欄位(例如last_updated)升序排序查詢結果,同時確保空值記錄排在最前面。

PostgreSQL為ORDER BY表達式提供了NULLS FIRST | LAST修飾符來實現此目的。預設情況下,在降序排序(DESC)中使用NULLS FIRST,導致空值排在最後。要在升序(ASC)中將NULL值排序在最前面,可以使用下列語法:

... ORDER BY last_updated NULLS FIRST
登入後複製

為了使索引支援此查詢,索引應與排序順序相符:

CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);
登入後複製

PostgreSQL可以有效地處理反向索引,使其類似於以下內容:

CREATE INDEX foo_idx ON tbl (last_updated);
登入後複製

但是,對於某些查詢計劃,NULL值的位置會影響效能。有關此主題的更多信息,請參閱以下內容:

以上是如何按日期對 PostgreSQL 記錄進行排序,其中 NULL 值在前?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板