집 >데이터 베이스 >MySQL 튜토리얼 >IN 절의 값 순서에 따라 PostgreSQL 쿼리 결과를 정렬하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!