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

推薦する

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

jsvc を使用して tomcat を起動する方法 (通常のユーザーとして実行)

jsvc の紹介実稼働環境では、Tomcat はデーモン モードで実行する必要があります。Tomc...

Linux での JDK と Tomcat のアップロードと設定に関する詳細なチュートリアル

準備1. 仮想マシンを起動する2. gitツールルートアカウントでログインルートアカウントを使用して...

MySQL の主キーがクエリを高速化するために数値を使用するか UUID を使用するかについての簡単な分析

実際の開発では、MySQL の主キーは重複できず、主キーが自動的にインクリメントされることがあります...

MySQL で日付時刻データを取得し、その後に .0 を追加する方法

MySQL のデータ型は datetime です。データベースに保存されているデータは 2015-0...

MySQL ソートの原則とケース分析

序文ソートはデータベースの基本的な機能であり、MySQL も例外ではありません。ユーザーは、Orde...

パズル効果を実現するネイティブ js

この記事では、パズル効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的...

JavaScript配列の一般的なメソッドの概要

目次1. はじめに2. フィルター() 3. マップ() 4. ソート() 5. 減らす() 6. ...

レンダリング関数と JSX の詳細

目次1. 基本2. ノード、ツリー、仮想DOM 1. 仮想DOM 3. createElementパ...

MySQL の自動増分 ID に関するいくつかの小さな問題の要約

以下の質問はすべて InnoDB ストレージ エンジンに基づいています。 1. 最も大きな ID を...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...

MySQL 検査スクリプト (必読)

以下のように表示されます。 #!/usr/bin/env python3.5 psutilをインポー...

更新とデータ整合性処理のためのMySQLトランザクション選択の説明

MySQL のトランザクションはデフォルトで自動的にコミットされます (autocommit = 1...

フレームセットを使用して複雑なページレイアウトを実装するためのテクニックの概要

コードをコピーコードは次のとおりです。 <html> <!--混合フレームレイアウ...

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...