>데이터 베이스 >MySQL 튜토리얼 >지정된 필드별로 사용자 정의 목록 정렬을 구현하는 MySQL의 자세한 소개

지정된 필드별로 사용자 정의 목록 정렬을 구현하는 MySQL의 자세한 소개

黄舟
黄舟원래의
2017-03-25 13:37:182049검색

다음 편집기는 지정된 필드별로 사용자 정의 목록 정렬을 구현하는 MySQL 기사를 제공합니다. 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 에디터를 따라가서 살펴보겠습니다.

문제 설명

우리 모두 알고 있듯이 특정 필드를 오름차순으로 정렬하는 SQL은 MySQL의 경우(예: ID 사용, 아래와 같음):

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY `id` ASC

내림차순에 대한 SQL은 다음과 같습니다.

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY `id` DESC

때때로 위의 정렬은 우리의 요구를 충족하지 않습니다. 예를 들어, id를 기준으로 5, 3, 7, 1의 순서로 정렬하려고 합니다. 이를 달성하는 방법은 다음과 같습니다. 이는 국내외 많은 동료들이 자주 겪는 문제 중 하나이기도 합니다.

아래에서는 원하는 목록 형식으로 테이블의 특정 필드를 기준으로 정렬하는 솔루션을 제공합니다.

해결책

"ORDER BY FIELD"(ORDER BY FIELD)를 사용하세요.

구문

ORDER BY FIELD(`id`, 5, 3, 7, 1)

FIELD 뒤에 공백이 없다는 점에 유의하세요.

따라서 전체 SQL은 다음과 같습니다.

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY FIELD(`id`, 5, 3, 7, 1)

일반 애플리케이션

아아아아

위 내용은 지정된 필드별로 사용자 정의 목록 정렬을 구현하는 MySQL의 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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