PostgreSQL 데이터베이스 레코드는 날짜별로 정렬되며 Null 값이 먼저 정렬됩니다.
PostgreSQL에서는 null 값 레코드가 먼저 오도록 하면서 쿼리 결과를 날짜/시간 필드(예: last_updated)를 기준으로 오름차순으로 정렬해야 하는 경우가 많습니다.
PostgreSQL은 이러한 목적을 달성하기 위해 ORDER BY
표현식에 NULLS FIRST | LAST
수정자를 제공합니다. 기본적으로 NULLS FIRST
은 내림차순(DESC)으로 사용되므로 null 값이 마지막에 정렬됩니다. NULL 값을 먼저 오름차순(ASC)으로 정렬하려면 다음 구문을 사용할 수 있습니다.
<code class="language-sql">... ORDER BY last_updated NULLS FIRST</code>
인덱스가 이 쿼리를 지원하려면 인덱스가 정렬 순서와 일치해야 합니다.
<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);</code>
PostgreSQL은 반전된 인덱스를 효율적으로 처리하여 다음과 같이 만들 수 있습니다.
<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated);</code>
그러나 일부 쿼리 계획의 경우 NULL 값의 위치가 성능에 영향을 미칠 수 있습니다. 이 주제에 대한 자세한 내용은 다음을 참조하세요.
위 내용은 NULL 값을 먼저 사용하여 PostgreSQL 레코드를 날짜별로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!