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

推薦する

Vue 円形パーセンテージ プログレスバー コンポーネントの機能の実装

必要な方はどなたでも参考にしてください。試してみて問題が見つかった場合は、メッセージを残してお知らせ...

jsは前のページに戻り、コードを更新します

1. Javascript は前のページ history.go(-1) に戻り、2 つのページを返し...

XHTML 入門チュートリアル: XHTML Web ページ画像アプリケーション

<br />適度に画像を追加すると、Web ページがより美しくなります。 画像タグ &l...

CSS で順序付きリスト項目と順序なしリスト項目のスタイルを設定する方法

順序なしリストでは、順序なしリストのシンボルは各リストの前に表示されるドットです。順序付きリスト o...

VMware 12 での Ubuntu 16.04 インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...

Linux の cut コマンドの説明

Linux や Unix の cut コマンドは、ファイルの各行から一部を切り取って標準出力に出力す...

CentOS 上での MySQL 5.6 のコンパイルとインストール、および複数の MySQL インスタンスのインストールの詳細な説明

--1. mysql用の新しいグループとユーザーを作成する # ユーザー追加 -M -s /sbin...

WeChatアプレットでSVGアイコンを使用する方法

SVG は、さまざまな利点があるため、近年広く使用されています。残念ながら、WeChat ミニプログ...

速度、読み込み、Web アプリケーションなどにおける div と table の違い。

1: 速度と読み込み方法の違いdivとtableの違いは速度ではなく、読み込み方法です。速度はネット...

MySQLリモート接続失敗の解決策

以前、MySQLがローカルでは接続できるのにリモートでは接続できないという問題に遭遇したことがありま...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

MySQLインジェクションバイパスフィルタリング技術の概要

まず、GIF 操作を見てみましょう。ケース1: スペースがフィルタリングされるスペースの代わりに角括...

ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード

フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

jsはテーブルドラッグオプションを実装します

この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...