Mysql はクエリ結果セットを JSON データに変換します 序文 学生テーブル 学生スコアテーブル 1 人の学生の各科目のスコアをクエリします (オブジェクト JSON 文字列に変換し、カンマで連結します) 1 人の学生の各科目のスコアを配列 JSON 文字列に変換します 配列文字列を値として使用し、キーを設定します 2 つのテーブルの結合クエリ (最終 SQL、各学生の各科目のスコア) 最終結果 序文
学生テーブル 存在しない場合はテーブルを作成します `student`( `id` INT UNSIGNED AUTO_INCREMENT、 `name` VARCHAR(100) NOT NULL 主キー ( `id` ) )ENGINE=InnoDB デフォルト文字セット=utf8; 学生にINSERT INTO( id, name ) VALUES ( 1, '张三' ); 学生に挿入(ID、名前)VALUES(2、'Li Si'); 学生成績証明書 存在しない場合はテーブルを作成 `score`( `id` INT UNSIGNED AUTO_INCREMENT、 `name` VARCHAR(100) NOT NULL `student_id` INT(100) NOT NULL, `スコア` VARCHAR(100) NOT NULL 主キー ( `id` ) )ENGINE=InnoDB デフォルト文字セット=utf8; スコアに INSERT INTO します( id, name, student_id, score) VALUES ( 1, '数学', 1, '95.5' ); スコアにINSERT INTO( id, name, student_id, score) VALUES ( 2, 'Chinese', 1, '99.5' ); スコアにINSERT INTO( id, name, student_id, score) VALUES ( 3, '数学', 2, '95.5' ); スコアにINSERT INTO( id, name, student_id, score) VALUES ( 4, 'Chinese', 2, '88' ); 1 人の生徒の各科目のスコアを照会します (オブジェクト JSON 文字列に変換し、カンマで連結します) GROUP_CONCAT(JSON_OBJECT( を選択) 'id'、id、'name'、name、'student_id'、student_id、'score'、score)) をスコアとして FROM score に格納します。ここで、student_id は 1 です。 ## クエリ結果## {"id": 1, "name": "数学", "student_id": 1, "score": "95.5"},{"id": 2, "name": "中国語", "student_id": 1, "score": "99.5"} 1人の生徒の成績を配列JSON文字列に変換する SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT( 'id',id,'name',name,'student_id',student_id, 'score', score)), ']') を scores FROM score として指定します。ここで、student_id は 1 です。 ## クエリ結果## [{"id": 1, "name": "数学", "student_id": 1, "score": "95.5"},{"id": 2, "name": "中国語", "student_id": 1, "score": "99.5"}] 配列文字列を値として使用し、キーを設定します SELECT CONCAT('{"scoreData":[', GROUP_CONCAT(JSON_OBJECT( 'id',id,'name',name,'student_id',student_id, 'score', score)), ']}') を scores FROM score として指定します。ここで、student_id は 1 です。 ## クエリ結果## {"scoreData": [{"id": 1, "name": "Mathematics", "student_id": 1, "score": "95.5"},{"id": 2, "name": "Chinese", "student_id": 1, "score": "99.5"}]} 2 つのテーブルの結合クエリ (最終 SQL、各科目の各生徒の成績) SELECT ID、名前、 (SELECT CONCAT('[', GROUP_CONCAT(JSON_OBJECT( 'id',id,'name',name,'student_id',student_id, 'score', score)), ']') をスコアとして FROM score WHERE student_id = stu.id) をスコアとして 学生から ## [{"id": 1, "name": "数学", "student_id": 1, "score": "95.5"},{"id": 2, "name": "中国語", "student_id": 1, "score": "99.5"}] 最終結果
これで、MySQL クエリ結果セットを JSON データに変換する方法についての説明は終わりです。MySQL 結果セットを JSON データに変換する方法についてさらに詳しく知りたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue でインデックスをキー属性値として使用することが推奨されないのはなぜですか?
>>: Dockerはプライベートライブラリイメージを完全に削除します
1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...
1. Windows10の組み込みLinuxサブシステムをインストールする1.1. Linuxサブシ...
序文多くのサイトが、ポイントやゴールドコインなど、情報のダウンロードに料金を請求していることは誰もが...
インストール環境: CentOS7 64ビットMINI版、MySQL5.7をインストール1. YUM...
async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...
目次1. クロスドメインフィルタ CorsFilter 1.1 設定例1.2 パラメータの説明2. ...
NATこのようにして、仮想マシンのネットワーク カードはホストの VMnet8 に接続されます。この...
少し前にSQLの独学を終え、MySQL 8.0.17をダウンロードしました。インストールして設定した...
多くの人が、ウェブサイト上のテキストはデザインする必要があるのかと疑問に思うかもしれません。多く...
ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...
wgetコマンドを使用して、親ディレクトリの下のサブディレクトリ全体をダウンロードします。親ディレク...
目次JSIとはJSIの違いiOS で JSI を使用するiOS 設定RN側の構成jsはパラメータ付き...
この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...
1. 静的ページとは、Web ページ内に HTML タグのみが含まれるページです。WEB 開発者がこ...
1. 問題の原因友人の @水米田 から、POSITION に基づくマスタースレーブについて質問があり...