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

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

Patricia Arquette
Patricia Arquette원래의
2025-01-19 10:56:09213검색

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)을 만듭니다.

<code class="language-sql">WITH Ordering AS (
  VALUES
    (1,1),
    (3,2),
    (2,3),
    (4,4)
)</code>

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

<code class="language-sql">SELECT c.*
FROM comments c
JOIN Ordering x ON c.id = x.id
ORDER BY x.ordering</code>

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

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

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