2016-07-28 3 views
-2

MySQL 지원에서 desc 또는 asc로 데이터를 정렬하지만 기본 정렬 규칙을 사용하면 요구 사항을 충족시킬 수 없다는 것을 알고 있습니다.사용자 정의 규칙을 사용하여 MySQL 데이터 정렬

| agr_offer_inst     | 
| agr_offer_inst_22_00   | 
| agr_offer_inst_22_00_err  | 
| agr_offer_inst_22_01   | 
| agr_offer_inst_22_01_err  | 
| agr_offer_inst_22_02   | 
| agr_offer_inst_22_02_err  | 
| agr_offer_inst_22_03   | 
| agr_offer_inst_22_03_err  | 
| agr_offer_inst_22_04   | 
| agr_offer_inst_22_04_err  | 
| agr_offer_inst_22_05   | 
| agr_offer_inst_22_05_err  | 
| agr_offer_inst_22_06   | 
| agr_offer_inst_22_06_err  | 
| agr_offer_inst_22_07   | 
| agr_offer_inst_22_07_err  | 
| agr_offer_inst_22_08   | 
| agr_offer_inst_22_08_err  | 
| agr_offer_inst_22_09   | 
| agr_offer_inst_22_09_err  | 
| agr_offer_inst_err    | 
| agr_offer_inst_h    | 
| agr_offer_inst_h_22_00   | 
| agr_offer_inst_h_22_01   | 
| agr_offer_inst_h_22_02   | 
| agr_offer_inst_h_22_03   | 
| agr_offer_inst_h_22_04   | 
| agr_offer_inst_h_22_05   | 
| agr_offer_inst_h_22_06   | 
| agr_offer_inst_h_22_07   | 
| agr_offer_inst_h_22_08   | 
| agr_offer_inst_h_22_09   | 

다음은 내가 필요로하는 결과 :

사람은 MySQL의에서 다음과 같은 데이터를 정렬하는 생각을 가질 수

| agr_offer_inst     | 
| agr_offer_inst_22_00   | 
| agr_offer_inst_22_01   | 
| agr_offer_inst_22_02   | 
| agr_offer_inst_22_03   | 
| agr_offer_inst_22_04   | 
| agr_offer_inst_22_05   | 
| agr_offer_inst_22_06   | 
| agr_offer_inst_22_07   | 
| agr_offer_inst_22_08   | 
| agr_offer_inst_22_09   | 
| agr_offer_inst_err    | 
| agr_offer_inst_22_00_err  | 
| agr_offer_inst_22_01_err  | 
| agr_offer_inst_22_02_err  | 
| agr_offer_inst_22_03_err  | 
| agr_offer_inst_22_04_err  | 
| agr_offer_inst_22_05_err  | 
| agr_offer_inst_22_06_err  | 
| agr_offer_inst_22_07_err  | 
| agr_offer_inst_22_08_err  | 
| agr_offer_inst_22_09_err  | 
| agr_offer_inst_h    | 
| agr_offer_inst_h_22_00   | 
| agr_offer_inst_h_22_01   | 
| agr_offer_inst_h_22_02   | 
| agr_offer_inst_h_22_03   | 
| agr_offer_inst_h_22_04   | 
| agr_offer_inst_h_22_05   | 
| agr_offer_inst_h_22_06   | 
| agr_offer_inst_h_22_07   | 
| agr_offer_inst_h_22_08   | 
| agr_offer_inst_h_22_09   | 

내가 여러 번 시도가 있지만 결과가 없습니다.

답변

1

order by은 여러 개의 키를 사용할 수 있습니다. 그래서, 여기 하나의 방법이 있습니다 :

order by (case when col like '%\_h\_%' then 3 
       when col like '%\_err' then 2 
       else 1 
      end), 
     col 
+0

나는 단지 하나의 컬럼을 가지고 있고 오직'_err'을 가진 테이블 끝만이 특별한 거래가 필요합니다. 첫 번째 열에 따라 여러 개의 키로 정렬하는 것을 볼 수 있습니다. 어쨌든 고마워! –

관련 문제