좋아, 색인이 생성 된 키와 색인이 생성되지 않은 필드가있는 테이블이 있습니다. 특정 값을 가진 모든 레코드를 찾고 행을 반환해야합니다. 여러 값으로 주문할 수 있는지 알고 싶습니다.
예:
id x_field
-- -----
123 a
124 a
125 a
126 b
127 f
128 b
129 a
130 x
131 x
132 b
133 p
134 p
135 i
pseudo : 결과가 다음과 같이 정렬되기를 원합니다. where ORDER BY x_field = 'f', 'p', 'i', 'a'
SELECT *
FROM table
WHERE id NOT IN (126)
ORDER BY x_field 'f', 'p', 'i', 'a'
따라서 결과는 다음과 같습니다.
id x_field
-- -----
127 f
133 p
134 p
135 i
123 a
124 a
125 a
129 a
구문은 유효하지만 쿼리를 실행하면 레코드를 1 개로 제한하더라도 결과가 반환되지 않습니다. 이것에 대해 다른 방법이 있습니까?
x_field를 테스트 결과로 생각하고 조건에 해당하는 모든 레코드의 유효성을 검사해야합니다. 실패한 값, 통과 한 값으로 테스트 결과를 정렬하고 싶었습니다. 따라서 실패한 값을 먼저 확인한 다음 ORDER BY를 사용하여 전달 된 값을 확인할 수 있습니다.
내가 할 수없는 것 :
- 특정 레코드 값을 반환해야하므로 GROUP BY
- WHERE x_field IN ( 'f', 'p', 'i', 'a'), 여러 유효성 검사 테스트에 하나의 쿼리를 사용하려고하므로 모든 값이 필요합니다. x_field 값은 DESC / ASC 순서가 아닙니다.
이 질문을 쓴 후 나는 이것을 다시 생각할 필요가 있다고 생각하기 시작했습니다, LOL!