IT

MySQL - SELECT...WHERE ID IN (..) - 올바른 순서

itgroup 2023. 9. 20. 20:16
반응형

MySQL - SELECT...WHERE ID IN (..) - 올바른 순서

다음과 같은 문의가 있습니다.

SELECT * FROM table WHERE id IN (5,4,3,1,6)

그리고 나는 에 명시된 순서대로 요소들을 검색하고 싶습니다.id in.., 반환해야 함을 의미합니다.

5 ....
4 ....
3 ....
1 ....
6 ....

어떻게 해야 할지 생각나는 거 있어요?

FIELD() 사용:

SELECT * FROM table WHERE id IN (5,4,3,1,6) ORDER BY FIELD(id, 5,4,3,1,6);
SELECT * FROM table WHERE id IN (5,4,3,1,6) ORDER BY FIELD (id, 5,4,3,1,6)

누군가가 아직도 검색하고 있을까봐 방금 찾았습니다.

SELECT * FROM `table` WHERE `id` IN (4, 3, 1) ORDER BY FIELD(`id`, 4, 3, 1)

그리고 여기서 찾을 수 있는 기능에 대한 참고 자료.

각각의 ID에 대해 ID를 생성해야 합니다.

id | otherid

1 = 5 2 = 4 3 = 3 4 = 1 6 = 6

IN STATEMENT를 사용하면 해당 값이 목록에 있는지만 확인하고 특정 순서로 정렬하지 않습니다.

언급URL : https://stackoverflow.com/questions/5090591/mysql-select-where-id-in-correct-order

반응형