>데이터 베이스 >MySQL 튜토리얼 >특정 값을 제외하고 NULL이 있는 PostgreSQL 데이터를 마지막으로 정렬하는 방법은 무엇입니까?

특정 값을 제외하고 NULL이 있는 PostgreSQL 데이터를 마지막으로 정렬하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-04 05:33:42375검색

How to Order PostgreSQL Data with NULLs Last, Except for a Specific Value?

특수 항목을 제외하고 다른 모든 항목 뒤에 NULL 값 순서 지정

선택적 순서 필드가 포함된 PostgreSQL 테이블에서 데이터를 정렬할 때 일반적인 과제 null 값을 처리 중입니다. null 정렬 값이 있는 작업을 다른 모든 작업 뒤에 배치하는 것이 바람직하지만 -1과 같은 특수 정렬 값이 있는 작업에 우선 순위를 부여합니다.

이는 부울 연산자와 함께 COALESCE 함수를 활용하여 달성할 수 있습니다. , 특히 (IS NOT DISTINCT FROM) 연산자입니다. 다음 쿼리는 이 접근 방식을 보여줍니다.

SELECT *
FROM tasks
ORDER BY (sort IS NOT DISTINCT FROM -1), sort;

작동 방식:

(sort IS NOT DISTINCT FROM -1) 표현식은 다음을 제외한 모든 값에 대해 FALSE로 평가됩니다. -1, TRUE로 평가됩니다. PostgreSQL의 기본 정렬 순서에서는 NULL 값이 마지막에 배치되고 TRUE는 FALSE보다 순위가 높습니다.

이 표현식을 ORDER BY 절에 통합하면 정렬 값이 -1인 작업이 non-1인 작업 뒤에 배치됩니다. null 정렬 값이 있는 작업은 다른 모든 작업 뒤에 배치됩니다.

추가 참고:

DESC 키워드를 사용하여 동등한 대체 쿼리를 작성할 수 있습니다.

SELECT *
FROM tasks
ORDER BY (sort IS DISTINCT FROM -1) DESC, sort;

위 내용은 특정 값을 제외하고 NULL이 있는 PostgreSQL 데이터를 마지막으로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.