>데이터 베이스 >MySQL 튜토리얼 >FIND_IN_SET()을 사용하여 미리 정의된 순서로 MySQL 쿼리 결과를 반환하려면 어떻게 해야 합니까?

FIND_IN_SET()을 사용하여 미리 정의된 순서로 MySQL 쿼리 결과를 반환하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-31 06:34:02526검색

How can I return MySQL query results in a predefined order using FIND_IN_SET()?

미리 정의된 순서로 쿼리 결과 반환

SELECT 문을 수행할 때 특정 순서로 레코드를 검색하는 것이 바람직한 경우가 많습니다. 그러나 기본적으로 MySQL은 테이블의 내부 구성에 따라 임의의 순서로 결과를 반환합니다.

이 기본 동작을 무시하고 미리 정의된 순서로 결과를 반환하기 위해 MySQL은 FIND_IN_SET() 함수를 사용하는 메서드를 제공합니다. 이 함수는 검색 문자열과 값 집합이라는 두 가지 인수를 사용합니다. 집합 내에서 검색 문자열의 위치를 ​​반환하거나, 문자열을 찾을 수 없으면 0을 반환합니다.

FIND_IN_SET()을 활용하면 SELECT 문을 실행하고 원하는 결과 순서를 지정할 수 있습니다. 예를 들어 ID가 7, 2, 5, 9, 8인 레코드를 특정 순서로 검색하려면:

SELECT id
FROM table
WHERE id IN (7, 2, 5, 9, 8)
ORDER BY FIND_IN_SET(id, "7,2,5,9,8");

이 쿼리는 다음 결과를 반환합니다.

id
---
7
2
5
9
8

ID 값은 WHERE 절에 나타나는 순서에 관계없이 FIND_IN_SET()의 두 번째 인수에 지정된 순서로 반환됩니다.

이 기술은 쿼리 결과의 순서를 제어하는 ​​강력한 방법을 제공합니다. , 기본 테이블에 명시적으로 정의된 정렬 순서가 없는 경우에도 마찬가지입니다.

위 내용은 FIND_IN_SET()을 사용하여 미리 정의된 순서로 MySQL 쿼리 결과를 반환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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