집 >데이터 베이스 >MySQL 튜토리얼 >특정 값을 제외하고 NULL이 있는 PostgreSQL 데이터를 마지막으로 정렬하는 방법은 무엇입니까?
특수 항목을 제외하고 다른 모든 항목 뒤에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!