2013-10-25 2 views
0

값이 N, Y, F, P, U로 시작하는 하나의 열로 mysql 레코드를 주문하려고합니다. 열의 유형은 VARCHAR입니다. 이 열의 값의 첫 글자에 따라 열별로 정렬하고 싶습니다. 특정 순서는 N - Y - F - P - U입니다. 그래서 첫 번째 레코드는 일부 열의 값이 N이고 두 번째 레코드는 Y로 시작하는 열의 값을 가져야합니다.사용자 정의 순서로 mysql 행을 정렬하는 방법은 무엇입니까?

어떻게 열의 첫 글자로 주문 하시겠습니까?

답변

3
SELECT 
... 
ORDER BY 
CASE SUBSTR(one_column,1,1) 
    WHEN 'N' THEN 0 
    WHEN 'Y' THEN 1 
    WHEN 'F' THEN 2 
    WHEN 'P' THEN 3 
    WHEN 'U' THEN 4 
    ELSE 5 
END 

... 값 조회 테이블에 조인하거나 IF 함수를 사용하여 char을 숫자로 매핑하십시오.

+0

.... 평소와 같이 올바른 대답은 데이터를 정상화하는 것입니다. – symcbean

관련 문제