IN 목록의 값 순서에 따라 PostgreSQL 쿼리 결과 정렬
PostgreSQL에서는 WHERE 절의 IN 구조를 사용하여 열과 일치하는 값 집합을 지정할 수 있습니다. 그러나 IN 목록의 값 순서에 따라 결과 행을 정렬하는 것은 어려울 수 있습니다.
다행히 PostgreSQL 8.2에는 특정 값과 순서가 포함된 가상 테이블을 생성할 수 있는 VALUES() 구조가 도입되었습니다. 이를 통해 IN 목록의 값 순서에 따라 결과를 정렬할 수 있습니다.
이를 달성하려면 다음 구문을 사용하세요.
<code class="language-sql">select c.* from comments c join ( values (1,1), (3,2), (2,3), (4,4) ) as x (id, ordering) on c.id = x.id order by x.ordering</code>
이 예에서는 VALUES() 구조를 사용하여 "x"라는 가상 테이블을 생성합니다. 이 가상 테이블의 각 행은 IN 목록의 값과 해당 순서를 나타냅니다. 그런 다음 "id" 열을 기반으로 "comments" 테이블을 "x" 테이블과 결합하고 "ordering" 열을 기준으로 결과를 정렬합니다. 이렇게 하면 검색된 행이 IN 목록(1,3,2,4)에 지정된 순서대로 정렬됩니다.
위 내용은 IN 목록의 값 순서에 따라 PostgreSQL 쿼리 결과를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!