PostgreSQL 테이블 정렬: NULL 값 우선순위 설정
PostgreSQL 테이블을 날짜/시간 필드를 기준으로 오름차순으로 정렬할 때 일부 레코드의 해당 필드에 NULL 값이 있는 상황이 발생할 수 있습니다. 일반적으로 이러한 레코드는 NULL이 아닌 레코드 뒤에 나타납니다. 그러나 NULL 값이 있는 레코드를 먼저 표시하고 싶을 수도 있습니다.
PostgreSQL의 ORDER BY
표현식은 이러한 목적으로 NULLS FIRST
수정자를 제공합니다. 이 수정자를 사용하면 다음과 같이 테이블을 정렬할 수 있습니다.
<code class="language-sql">... ORDER BY last_updated NULLS FIRST</code>
이렇게 하면 필드에 NULL 값이 있는 last_updated
레코드가 NULL이 아닌 값이 있는 레코드 앞에 표시됩니다.
내림차순 정렬의 경우 NULLS LAST
수정자를 사용할 수 있습니다.
<code class="language-sql">... ORDER BY last_updated DESC NULLS LAST</code>
이 쿼리를 지원하는 인덱스를 생성하려면 ORDER BY
절의 순서와 일치하는지 확인하세요.
<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);</code>
또는 PostgreSQL이 btree 인덱스를 역방향으로 읽을 수 있으므로 NULLS LAST
옵션을 명시적으로 지정하지 않고도 인덱스를 생성할 수 있습니다.
<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated);</code>
어떤 경우에는 인덱스에서 NULL 값의 위치가 쿼리 성능에 영향을 줄 수 있습니다. 이에 대한 자세한 내용은 PostgreSQL 설명서를 참조하세요.
위 내용은 NULL 값을 사용하여 PostgreSQL 테이블을 먼저 또는 마지막으로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!