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 機能の手ぶれ補正とスロットリングのサンプル コード

推薦する

Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策

/etc/my.confファイルで、[mysqld]の下に次の行を追加します: skip-grant...

JavaScript 即時実行関数の使用状況分析

一般的に、関数は実行する前に呼び出す必要があることはご存じのとおりです。以下に示すように、関数を定義...

DockerはRedisを起動し、パスワードを設定します

RedisはRedisバージョン5のapline(Alps)イメージを使用します。これは小さくて高速...

Vueページの画像が表示されない問題の解決方法

新しいバージョンの設定インターフェースを作る際に、vueフレームワークを使用して実装しました。ページ...

MySQL Group by最適化の詳細な説明

目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...

CSS3マスクレイヤーのくり抜き効果を実現するさまざまな方法

この記事では、マスク レイヤーの中空化を実現する 4 つの方法を紹介します。みんなと共有し、自分用の...

Docker でタイムゾーンの問題に対処する方法

背景ここ 2 日間 Docker を使用していたところ、コンテナの起動後に date -R の出力タ...

MySQLとPythonの相互作用の例

目次1. データを準備するデータテーブルを作成するデータの挿入2. SQLドリル1. SQL文の強化...

Linuxでawkを使用する方法の詳細な説明

awk を学ぶ前に、sed、grep、tr、cut などのコマンドを学んでおく必要があります。これら...

HTML にオーディオファイルを挿入してブラウザで再生する場合の互換性の問題

HTML にオーディオ ファイルを挿入した後 (mp3 ファイルを再生した後) に発生したいくつかの...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

JavaScript における BOM と DOM の詳細な説明

目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...

フロントエンドでよく使われるjs関数メソッド

目次1. メール2. 携帯電話番号3. 電話番号4. URLアドレスですか? 5. 文字列ですか? ...

Bootstrap 3.0 学習ノートのボタンとドロップダウン メニュー

前回の記事はBootstrap CSS部分の簡単なレビューであり、多くの詳細が見落とされていました。...

Angularの単一プロジェクトを複数プロジェクトにアップグレードするプロセス全体

目次序文開発環境新しいプロジェクトを作成するモバイルウェブプロジェクト角度付きJSONパブリックモジ...