How to Order PostgreSQL Records by Date with NULL Values First?
Jan 23, 2025 am 02:45 AMPostgreSQL database records are sorted by date, null values first
In PostgreSQL, it is often necessary to sort query results in ascending order by a date/time field (e.g. last_updated) while ensuring that null value records come first.
PostgreSQL provides the ORDER BY
modifier for NULLS FIRST | LAST
expressions to achieve this purpose. By default, NULLS FIRST
is used in descending order (DESC), causing null values to be sorted last. To sort NULL values first in ascending order (ASC), you can use the following syntax:
... ORDER BY last_updated NULLS FIRST
In order for the index to support this query, the index should match the sort order:
CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);
PostgreSQL can handle inverted indexes efficiently, making it look like the following:
CREATE INDEX foo_idx ON tbl (last_updated);
However, for some query plans, the position of NULL values can affect performance. For more information on this topic, please see the following:
The above is the detailed content of How to Order PostgreSQL Records by Date with NULL Values First?. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Reduce the use of MySQL memory in Docker

How do you alter a table in MySQL using the ALTER TABLE statement?

How to solve the problem of mysql cannot open shared library

What is SQLite? Comprehensive overview

Run MySQl in Linux (with/without podman container with phpmyadmin)

Running multiple MySQL versions on MacOS: A step-by-step guide

How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)?

How do I configure SSL/TLS encryption for MySQL connections?
