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

MySQL에서 \'IN\' 절의 결과를 정렬하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-03 00:31:031007검색

How to Order Results from an

MySQL Select 문의 "IN" 절에서 정렬된 결과

"IN" 절을 사용하여 특정 레코드에 대한 대규모 테이블을 쿼리할 때, 기본 결과 순서는 일관되지 않을 수 있습니다. "IN" 절의 값과 동일한 순서로 결과를 얻으려면 기본 동작을 재정의하는 대체 접근 방식을 고려해야 합니다.

한 가지 옵션은 FIELD 함수를 활용하는 것입니다. 이 함수는 두 개의 매개변수를 사용합니다. 첫 번째 매개변수는 정렬할 열이고 두 번째 매개변수는 원하는 정렬 순서에 따라 쉼표로 구분된 값 목록입니다. 쿼리에 ORDER BY FIELD(열, 값) 절을 포함하면 값 목록에 지정된 값 순서에 따라 결과가 정렬됩니다.

예를 들어 다음 쿼리는 검색합니다. "IN" 절에 지정된 순서대로 ID가 있는 레코드:

SELECT * FROM your_table
WHERE id IN (5,2,6,8,12,1)
ORDER BY FIELD(id,5,2,6,8,12,1);

여기서 FIELD 함수는 값의 순서(5, 2, 6, 8, 12, 1). 수백만 행이 포함된 대규모 데이터 세트의 경우에도 지정된 순서로 결과가 반환됩니다.

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

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