1

テーブルに varchar(20) 型の「priority」という名前のフィールドが 1 つあります。このフィールドには次の 4 つの値があります。

ここで、これを「課題から優先度を選択して優先度順に並べ替える」というクエリで並べ替えると、1. 高 2. 低 3. 中 4. ストッパーを表示

しかし、次の順序でこれが必要です: 1. ストッパーを表示 2. 高 3. 中 4. 低

この順序で結果を取得するために、上記のクエリで何ができるか教えてください。varchar を enum に変更すれば、問題は解決します。しかし、いくつかのプロジェクト コンセプトの制限により、フィールド タイプを変更することはできません。別の解決策を教えてください。前もって感謝します。

4

1 に答える 1

4
             ...
             ORDER BY CASE priority WHEN 'show stopper' THEN 1
             WHEN 'high' THEN 2
             WHEN 'medium' THEN 3
             WHEN 'low' THEN 4
             END

また

             ORDER BY FIELD(priority,'show stopper', 'high', 'medium', 'low');
于 2012-04-21T08:58:04.137 に答える