指定フィールドによるMySQLカスタムリストのソートの実装

指定フィールドによるMySQLカスタムリストのソートの実装

問題の説明

ご存知のとおり、MySQL でフィールドを昇順に並べ替える SQL は次のとおりです (id を例にとると、以下も同様です)。

`MyTable` から * を選択
`id` が (1, 7, 3, 5) の場合
`id` による順序

降順の SQL は次のとおりです。

`MyTable` から * を選択
`id` が (1, 7, 3, 5) の場合
`id` による順序

上記の並べ替えではニーズを満たせない場合があります。 たとえば、ID を 5、3、7、1 の順に並べ替えたいのですが、どうすればよいでしょうか? これは、国内外の多くの企業が頻繁に遭遇する問題の 1 つでもあります。

以下に、テーブル内のフィールドを必要なリスト形式で並べ替えるソリューションを示します。

解決

「ORDER BY FIELD」を使用します。

文法

フィールドによる順序(`id`, 5, 3, 7, 1)

FIELD の後にスペースがないことに注意してください。

したがって、完全な SQL は次のようになります。

`MyTable` から * を選択
`id` が (1, 7, 3, 5) の場合
フィールドによる順序(`id`, 5, 3, 7, 1)

一般的な用途

`MyTable` から * を選択
WHERE `name` IN ('张三', '李四', '王五', '孙六')
ORDER BY FIELD(`name`, '李四', '孙六', '张三', '王五')

指定されたフィールドによる MySQL カスタム リストの並べ替えを実装する方法に関する上記の記事は、私が皆さんと共有したいことのすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • あるテーブルのデータの列を別のテーブルの列にコピーするMySQLメソッド
  • MySQL FAQ シリーズ: 一時テーブルを使用する場合
  • SqlクエリMySqlデータベーステーブル名と説明テーブルフィールド(列)情報
  • Java+MySQLの再帰を使用してツリー型のJSONリストを連結する方法の例
  • Mysql テーブル、列、データベースの追加、削除、変更、クエリの問題の概要
  • Python モジュール pymysql の結果をクエリした後にフィールド リストを取得する方法
  • MySQL テーブルと列のコメントの概要

<<:  Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

>>:  vite を使用して vue3 アプリケーションを構築する方法

推薦する

Videojs+swiper が Taobao の商品詳細カルーセルを実現

この記事では、Taobao商品詳細のカルーセルを実現するためのvideojs+swiperの具体的な...

独自のサーバーを素早く構築する方法の詳細なチュートリアル(Java 環境)

1. サーバーの購入1. 私はAlibaba Cloudのサーバーを選択しました。学生向けで月額9...

MySQL EXPLAIN ステートメントの使用例

目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...

Power Shell に vim 実装コード例を追加する方法

1. Vimの公式ウェブサイトにアクセスして、オペレーティングシステムに適した実行ファイルをダウンロ...

レスポンシブレイアウトについて知っておくべきこと

1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...

MySQL オンラインリカバリ UNDO テーブルスペース 実戦記録

1 MySQL5.6 1.1 関連パラメータMySQL 5.6 では、innodb_undo_dir...

Intelli Idea で Tomcat 設定が見つからない問題の解決方法

2日前に新しい会社に入社しました。その会社ではIntelli Ideaを使っています。Eclipse...

Vue3のサンドボックスの仕組みの詳しい説明

目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する序文vue3サンドボックスには主...

HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、ヘッダーの幅と高さはコンテンツに応じて自動的に調整されます。ヘッダーの幅と高さを手動...

Linux ネットワークプログラミングにおけるソケットオプションの実装

ソケットオプション機能機能: ソケットファイル記述子の属性の読み取りと設定に使用されるメソッド #i...

MySQLの連結関数CONCATの使い方の詳しい説明

前回の記事では、MySQL の置換関数 (Replace) とセグメンテーション関数 (SubStr...

入力ボックスの値を取得する方法のReactの例

入力ボックスの値を取得する複数の方法最初の方法は、制御されていないコンポーネントの取得です2番目の方...

JavaScript フロントエンドのタイムアウト非同期操作に最適なソリューション

目次コードの実行に長い時間がかかる場合はどうなりますか? Axiosにはタイムアウト処理機能が搭載さ...

CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル

目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...