ホームページ > データベース > mysql チュートリアル > FIELD() を使用して MySQL でカスタムの並べ替え順序を定義するにはどうすればよいですか?

FIELD() を使用して MySQL でカスタムの並べ替え順序を定義するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-27 03:59:10
オリジナル
330 人が閲覧しました

How to Define a Custom Sorting Order in MySQL Using FIELD()?

MySQL でのカスタム順序によるデータの順序付け

MySQL では、FIELD() 関数を使用してカスタムの並べ替え順序を定義できます。この関数は、値のリストに対してフィールドの値を評価し、リスト内の値の位置に基づいて数値を返します。この関数を利用すると、特定の値に希望の順序を指定できます。

次の表を考えてみましょう:

ID    Language    Text
0    ENU         a
0    JPN         b
0    DAN         c
1    ENU         d
1    JPN         e
1    DAN         f
ログイン後にコピー

言語と ID の昇順でソートされた行を返します。ENU が最優先、次に JPN、次に DAN の場合は、次の ORDER BY 句を使用できます:

ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID
ログイン後にコピー

このクエリカスタム ソート順序として値「ENU」、「JPN」、および「DAN」を使用して、結果を言語フィールドでソートするように MySQL に指示します。 [Language] フィールドの値が「ENU」である行が最初に表示され、次に「JPN」が含まれる行、最後に「DAN」が含まれる行が表示されます。各言語グループ内では、行は ID の昇順で並べられます。

次の点に注意することが重要です。

  • FIELD() 関数は、他の DBMS と同様に、SQL の移植性を制限する可能性があります。
  • 並べ替えに使用する値のリストが大きい場合は、通常、sortorder を使用して別のテーブルを作成する方が効率的です。列を作成し、注文用のクエリに結合します。

以上がFIELD() を使用して MySQL でカスタムの並べ替え順序を定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート