MySQL "IN" 절의 값 순서에 따라 결과 정렬
MySQL에서 "IN"을 사용하여 큰 테이블에서 레코드 선택 절을 사용하면 순서가 정렬되지 않은 결과가 나오는 경우가 많습니다. 결과 순서가 중요한 시나리오의 경우 원하는 순서를 달성하려면 해결 방법이 필요합니다.
비효율적인 접근 방식: 임시 테이블
처음에는 다음을 생성하는 것이 제안되었습니다. "IN" 절의 값을 사용하여 임시 테이블을 만들고 조인 작업을 수행합니다. 그러나 이 접근 방식은 대규모 데이터 세트에는 비효율적일 수 있습니다.
효율적인 솔루션: FIELD() 함수
조인을 사용하는 대신 FIELD() 함수는 효율적인 솔루션을 제공합니다. "IN" 절의 값을 기준으로 결과를 정렬하는 대신. FIELD() 함수는 두 개의 인수를 사용합니다.
ORDER BY 절에서 FIELD() 함수를 사용하면 "IN" 절의 값 순서에 따라 결과를 정렬할 수 있습니다.
<code class="sql">SELECT * FROM your_table WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);</code>
FIELD() 함수 설명서
FIELD() 함수에 대한 자세한 내용은 MySQL 설명서를 참조하세요.
[MySQL FIELD() 함수 참고](https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_field)
위 내용은 IN 절을 사용하여 MySQL 쿼리 결과를 값 순서로 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!