> 데이터 베이스 > MySQL 튜토리얼 > IN 절의 값 순서에 따라 PostgreSQL 쿼리 결과를 정렬하는 방법은 무엇입니까?

IN 절의 값 순서에 따라 PostgreSQL 쿼리 결과를 정렬하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-19 10:56:09
원래의
232명이 탐색했습니다.

How to Sort PostgreSQL Query Results by the Order of Values in an IN Clause?

PostgreSQL에서 IN 값 목록을 기준으로 결과 정렬

PostgreSQL에서 ORDER BY 절은 일반적으로 테이블의 열에 적용됩니다. 그러나 외부 참조(예: IN 절)를 기반으로 순서를 적용하는 데에도 사용할 수 있습니다.

쿼리 결과가 IN 값 목록의 순서와 일치하는지 확인하려면 PostgreSQL 8.2에 도입된 VALUES() 구문을 사용할 수 있습니다.

해결책:

IN 값을 원하는 정렬 순서에 매핑하는 임시 테이블 또는 공통 테이블 표현식(CTE)을 만듭니다.

WITH Ordering AS (
  VALUES
    (1,1),
    (3,2),
    (2,3),
    (4,4)
)
로그인 후 복사

기본 테이블을 이 임시 테이블에 조인하고 x로 별칭을 지정합니다.

SELECT c.*
FROM comments c
JOIN Ordering x ON c.id = x.id
ORDER BY x.ordering
로그인 후 복사

ORDER BY 절에서 임시 테이블의 ordering 열을 참조하여 IN 절에 지정된 순서대로 결과를 정렬합니다.

위 내용은 IN 절의 값 순서에 따라 PostgreSQL 쿼리 결과를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿