MySQLの指定順序ソートクエリについての簡単な説明

MySQLの指定順序ソートクエリについての簡単な説明

最近、空港や駅でフライト情報を表示するものと似た大型スクリーンディスプレイのプロジェクトに取り組んでいますが、表示される内容ははるかに複雑です。データの一部は次のとおりです。

フロントエンドでは主に Vue フレームワークが使用され、バックエンドのデータがフロントエンドに表示される必要があります。

1 つ目: 工場の入口と出口のインジケーターは固定されていません (6 個の場合もあり、将来的には 7 個または 8 個になる可能性もあります)。

2 番目: 「数値」の代わりにスラッシュを使用します。

3つ目:インバウンドインジケータとアウトバウンドインジケータの名前は、上図で指定された名前に準拠する必要があります(バックエンドデータベースから照会された名前は、フロントエンドで指定された名前と異なり、単位に「>1」、「>0.3」などが含まれているため、バックエンドから直接照会することはできません。名前+単位はフロントエンドに配置され、自分で処理する必要があります)。4つ目:バックエンドデータが送信される順序は、フロントエンドで指定された順序である必要があります。いずれにせよ、フロントエンドはデータをループアウトするだけでよく、バックエンドが他のすべてのニーズに対応する必要があります。

2つのテーブルがあります: table_a、table_b

ステップ1: table_a.id=table_b.idsに基づいてテーブルを作成する

SQL文: SELECT * FROM (SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.ids)A、下線部分を新しいテーブルAとして取得します。

ステップ 2: Xiaobailong と Sha Wujing がデータベースに存在しないことが判明したため、追加する必要があります。

SQL ステートメント:

SELECT * FROM (SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.ids
ユニオンオール
SELECT 8 id,'白龙马' `name`,'小白' sname,'1000' age ,8 ids, 27 `value`
ユニオンオール
SELECT 9 id,'沙武景' `name`,'閔戰将軍' sname,'2000' age ,9 ids, 289 `value`
)あ

下線部分は、不足しているデータを追加するために使用され、フロントエンドでの固定表示のニーズに使用されることがあります。

ステップ3:唐僧、孫悟空、朱八戒、沙悟浄、蕭百龍、春華、王武、趙流、唐奇の順に並べます。

SQL ステートメント:

SELECT * FROM (SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.ids
ユニオンオール
SELECT 8 id,'白龙马' `name`,'小白' sname,'1000' age ,8 ids, 27 `value`
ユニオンオール
SELECT 9 id,'沙武景' `name`,'閔戰将軍' sname,'2000' age ,9 ids, 289 `value`)A
    INNER JOIN (SELECT 7 ids、1 `order`)
ユニオンオール
2 つの ID、2 つの `order` を選択
ユニオンオール
4 つの ID、3 つの `order` を選択
ユニオンオール
9 つの ID、4 つの「順序」を選択
ユニオンオール
8 つの ID、5 つの `order` を選択
ユニオンオール
6 つの ID、6 つの `order` を選択
ユニオンオール
1 つの ID、7 つの `order` を選択
ユニオンオール
5 つの ID、8 つの `order` を選択
ユニオンオール
3 つの ID を選択、9`order`) B ON B.ids=A.id
B.orderによる注文

下線付きのステートメントは、テーブル A 全体に 2 つのフィールドを追加し、指定された方法で固定ソートを実現します。フィールドを追加して、他の目的を達成することもできます。

上記は、MySQL 指定順序ソートクエリの紹介の全内容です。まだ質問がある場合は、下のコメントエリアで議論することができます。

以下もご興味があるかもしれません:
  • MySQL の単一テーブル クエリ操作例の詳細な説明 [構文、制約、グループ化、集計、フィルタリング、並べ替えなど]
  • MySQL が UNION を使用して 2 つのクエリを接続できない理由の詳細な説明
  • MySQL クエリのソートとクエリ集計関数の使用法の分析
  • Yii2 は MySQL データベース間の関連クエリソート機能コードを実装します
  • MySQL でクエリ結果をソートし、返される結果の数を制限する方法に関するチュートリアル
  • MySQLクエリ結果を値でソートする簡単なチュートリアル
  • ランダムソート結果を使用したデータベースクエリソートの例 (Oracle/MySQL/MS SQL Server)
  • MySQL クエリの最適化: 結合クエリのソート制限の概要 (結合、順序、制限ステートメント)
  • MySQL クエリの最適化: 結合クエリのソートに関する簡単な説明
  • MySQLクエリのソートとページング関連

<<:  Linux で SpringBoot jar プログラム デプロイメント シェル スクリプトを起動および停止する方法

>>:  JavaScript ではおそらく switch 文を使う必要はない

推薦する

Server-U 14バージョンのインストールと使用方法

Server-Uソフトウェアの紹介Server-U は非常に強力なファイル マネージャーです。FTP...

JavaScript 組み込みオブジェクトの概要

目次1. 組み込みオブジェクト2. 数学オブジェクト1. Mathオブジェクトの使用2. 指定された...

Vueコンポーネントドキュメント生成ツールライブラリのメソッド

目次.vue ファイルの解析文書情報を抽出するコンポーネント名、説明、プロパティ、メソッド、モデルを...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

Windows 8 での MySQL Community Server 5.6 のインストールと設定のチュートリアル

この記事では、Windows 8 での MySQL5.6 のインストールと設定のチュートリアルを記録...

Typescriptを使用してローカルストレージをカプセル化する方法

目次序文ローカルストレージの使用シナリオ使用上の問題解決機能性有効期限を追加データ暗号化を追加する命...

HTML DOM入門_PowerNode Javaアカデミー

DOMとは何ですか? JavaScript を使用すると、HTML ドキュメント全体を再構築できます...

React は入力値を取得し、2 つのメソッドの例を送信します

方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...

Tomcatの動作原理を分析する

SpringBoot は巨大な Python のようで、ゆっくりと私たちの周りを巻きつき、麻痺させま...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...

MySQL マスタースレーブレプリケーション構成プロセス

メインライブラリの構成1. MySQLを設定する vim /etc/my.cn # ファイルに次の内...

HTML ul および li タグを使用して画像を表示するサンプル コード

以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...

LinuxシステムにDockerをインストールするプロセス

このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...

ノードをMySQLデータベースに接続する際に発生する問題と解決策

今日、MySQL の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...