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 文を使う必要はない

推薦する

CSSはマウスが画像に移動したときにマスク効果を実現します

1.マスクレイヤーのHTMLコードと画像をdivに配置する.img_div に入れました。 <...

よく使われる HTML タグとその特徴の完全なリスト

まず、HTML タグのいくつかの特性を知っておく必要があります。 1. 「<keyword&g...

Tomcat で JNDI データ ソースを構成する 3 つの方法

これまでの仕事では、開発サーバーは一般的にTomcatでした。データソースは、多くの場合、appli...

UbuntuにMySQLをインストールするときにデフォルトのパスワードを変更する詳細な手順

ステップ1: ディレクトリに入ります: cd /etc/mysql、debian.cnfファイルを表...

Vue は左右のスライド効果のサンプルコードを実装します

序文個人の実際の開発で使用した効果問題を、今後の開発やレビューに役立てるためにまとめています。他の人...

haslaylout と bfc 解析の理解

1. haslayout と bfc は IE 固有の標準属性です。 2. BFC はページ上の分離...

MySQL テーブルスペースの断片化の概念と関連する問題の解決策

目次背景表領域の断片化とは何ですか?表領域の断片化を確認する方法表スペースの断片化問題を解決する方法...

MySQL トランザクション制御フローと ACID 特性

目次1. ACIDの特性トランザクション制御構文3. トランザクション同時実行例外1. ダーティリー...

MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。

ご存知のとおり、binlog ログは MySQL データベースにとって非常に重要です。万が一、データ...

Java を Mysql バージョン 8.0.18 に接続する方法の詳細な説明

JavaとMysql 8.0.18バージョンの接続方法については、参考までに具体的な内容は以下のとお...

Dockerの一般的なコマンドとヒントのまとめ

インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...

Vueカスタム命令とその使用方法の詳細な説明

目次1. 指令とは何ですか? Vue でよく使われる組み込みの v ディレクティブv-if と v-...

Linuxでユーザーが所属するグループを変更する方法

Linuxでユーザーが所属するグループを変更する1. ユーザーのグループを設定する usermod ...

NavicatがLinuxサーバー上のMySQLに接続できない問題を解決する

最初は悲しい気持ちになりました。スクリーンショットは以下の通りです。 少し苦労しましたが、解決策は次...

CSS3を使用してボタンホバーフラッシュダイナミック特殊効果コードを実装する

CSS3 の列シリーズ属性を使用してウォーターフォールレイアウトを作成する方法を紹介しました。興味の...