MySQL "IN" 쿼리의 순서 유지
"IN" 연산자를 사용하여 MySQL 쿼리의 결과를 필터링하는 경우 결과는 "IN" 절에 지정된 값의 순서와 반드시 일치하지 않을 수도 있습니다. 이는 MySQL이 기본적으로 결과 순서를 보장하지 않기 때문입니다.
"IN" 쿼리에서 결과 순서를 유지하려면 다음 접근 방식을 사용할 수 있습니다.
FIELD 함수 사용
FIELD 함수를 사용하여 원하는 결과 순서를 지정할 수 있습니다. 쉼표로 구분된 값 목록을 두 번째 인수로 사용하고 목록에서 일치하는 값의 위치를 반환합니다. 예를 들어, 다음 쿼리는 "IN" 절에 지정된 순서대로 결과를 반환합니다.
SELECT * FROM foo f WHERE f.id IN (2, 3, 1) ORDER BY FIELD(f.id, 2, 3, 1);
FIELD에 대한 인수 목록은 가변 길이일 수 있으므로 필요한 만큼 많은 값을 지정할 수 있습니다.
참고:
ORDER BY FIELD 방법은 "IN" 절은 미리 알려져 있습니다. 그러나 값이 동적이거나 다른 데이터 소스에서 가져온 경우 이 방법은 적합하지 않을 수 있습니다.
위 내용은 MySQL의 'IN' 쿼리에서 결과 순서를 어떻게 보장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!