MySQL でデータを並べ替える場合、ORDER BY 句を使用すると、デフォルトの昇順または降順オプションを超えて並べ替え順序をカスタマイズできます。よくある課題の 1 つは、列内の複数の値に対する特定の並べ替え優先順位を定義することです。
質問:
次の表を考えてみましょう:
ID | Language | Text |
---|---|---|
0 | ENU | a |
0 | JPN | b |
0 | DAN | c |
1 | ENU | d |
1 | JPN | e |
1 | DAN | f |
このテーブルを言語 (ENU が最初、JPN が 2 番目、DAN が最後) で昇順に並べ替えるにはどうすればよいですか? ID?
答え:
MySQL は、カスタムの並べ替え順序を有効にする FIELD() 関数を提供します。値を取得し、指定されたリスト内での位置を確認します。この関数を使用すると、希望する並べ替えの優先順位を次のように定義できます:
ORDER BY FIELD(Language, 'ENU', 'JPN', 'DAN'), ID
このクエリは次の順序でデータを返します:
a、d、b、e、c、ふ、など
考慮事項:
以上がMySQL の ORDER BY 句で特定の値の並べ替え順序をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。