MySQLはgroup_concat()関数に基づいて複数のデータ行を結合します

MySQLはgroup_concat()関数に基づいて複数のデータ行を結合します

非常に便利な機能

group_concat() について、マニュアルには次のように記載されています: この関数は、グループ接続から NULL 以外の値を含む文字列結果を返します。

簡単に言えば、group_concat() はどの行が同じグループに属しているかを計算し、同じグループに属する列を結合して一緒に表示します。返される列は、関数のパラメータ (つまり、フィールド名) によって決まります。グループ化には基準が必要です。つまり、group by で指定した列に従ってグループ化する必要があります。

結合されたフィールドのデフォルトの区切り文字はコンマであり、これはセパレータ パラメータを使用して指定できます。

たとえば、学生テーブルには次の 5 つのデータがあります。

要件は次のとおりです。「Xiao Ming」の2行のスコアを1行に表示でき、「Xiao Hong」の2行のスコアも1行に表示できます。

次に、

学生グループから名前別に名前、group_concat(科目、スコア)を選択します。

クエリ結果は次のとおりです。

区切り文字をカスタマイズすることもできます

SELECT name,group_concat(subject,score Separator '--') FROM student group by name;

クエリ結果は次のとおりです。

group by name; を使用しない場合はどうなりますか?

学生から名前、グループ連結(科目、スコア)を選択します。

クエリの結果は次のようになります (name 属性とは関係のない 1 行のみが表示されます)。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • グループフィールドを 1 行に書き込むための mysql group_concat メソッドの例
  • MySql Group Byは複数のフィールドのグループ化を実装します
  • 複数のフィールドをグループ化するMySQLグループ
  • MySQL でグループ化した後、フィールドの複数のデータを結合して表示する方法

<<:  Vueでデータ例を定義する方法

>>:  Web プロジェクト開発 JS 機能の手ぶれ補正とスロットリングのサンプル コード

推薦する

MySQL 5.7.19 Winx64 ZIP アーカイブのインストールと使用に関する問題の概要

今日はMySQLのインストール方法を学びましたが、その過程でいくつか問題が発生しました。関連記事をい...

ページのレンダリング時間を短縮してページの実行速度を速めます

ブラウザでのページのレンダリング時間をできるだけ短縮するにはどうすればよいでしょうか? この記事は、...

表には表示したい境界コードが表示されます

テーブルの共通プロパティ基本的な属性は、width (幅)、height (高さ)、border (...

Vue 3 で Vue Router リンクを拡張する方法

序文<router-link> タグは、Vue アプリ内のさまざまなページ間を移動するた...

一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ

目次序文1. 文字列の長さを取得する2. 文字列の指定された位置の値を取得する(1) charAt(...

MySQLで大きなテーブルをエレガントに削除する方法について簡単に説明します

目次1. 切り捨て操作1.1 MySQL truncate はどのような操作を実行しますか? 1.2...

自動行折り返し機能付き CSS Flex レイアウトのサンプル コード

フレックス コンテナーを作成するには、要素に display: flex プロパティを追加するだけで...

MySQLは効率的なインデックス例分析を確立する

この記事では、例を使用して、MySQL で効率的なインデックスを作成する方法について説明します。ご参...

MySQL Shellの紹介とインストール

目次01 レプリ​​カセットアーキテクチャ02 MySQL Shellの紹介とインストール03 My...

JavaScript で配列遅延評価ライブラリを実装する方法

目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...

Navicat For MySQL の使い方に関する簡単なチュートリアル

推薦する: Navicat for MySQL 15 登録とアクティベーションの詳細なチュートリアル...

alpineをベースにdockerfileで作成したtomcatイメージの実装

1.アルパインイメージをダウンロードする [root@docker43 ~]# docker pul...

JavaScript のディープコピーの落とし穴

序文以前、ある会社の面接に行ったとき、面接官から「オブジェクトを深くコピーするにはどうすればよいです...

Linux で圧縮ファイルの内容を表示する 10 の方法 (要約)

一般的に、アーカイブされたファイルや圧縮されたファイルの内容を表示するには、まず解凍してから表示する...