ホームページ >データベース >mysql チュートリアル >mysqlのカラム変換関数とは何ですか?

mysqlのカラム変換関数とは何ですか?

WBOY
WBOYオリジナル
2022-07-01 10:49:4918088ブラウズ

mysql では、カラム変換関数は "group_concat()" 関数です。この関数は、グループ化条件に従って null 以外のカラム値をマージし、最終的にそれらを返すために使用されます。 null 値が含まれている場合、返される結果は空です。構文は「select group_concat(名前区切り文字 ';') テーブル名から列名;」です。

mysqlのカラム変換関数とは何ですか?

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysqlカラム変換関数とは

GROUP_CONCAT(expr) この関数はグループ化条件に従ってnull以外のカラム値を結合し、最終的に戻ります。 null 値がある場合は、null として返されます。

MySQL で、列を行に変換するにはどうすればよいですか?たとえば、各製品は複数のカテゴリに属します (たとえば、ファーウェイの携帯電話は携帯電話またはデジタル カテゴリに分類できます) この製品のすべてのカテゴリを 1 つのデータに表示する方法。

このアイデアは非常にシンプルで、MySQL 関数 group_concat を通じて解決できます。

テスト テーブルの作成:

create table test.test_mysql_liezhuanhang (
id         bigint auto_increment comment '主键',
name       varchar(100),
age        int(5),
primary key (id)
)engine=innodb default charset=utf8mb4 comment='测试表'

テスト データのインポート:

insert into test.test_mysql_liezhuanhang (name, age) values ('李威', 18), ('李威', 19), ('李威', 18), ('李白', 20), ('李白', 20), ('李白', 19);

すべての名前をセミコロンで区切って表示します。デフォルトは ,

select group_concat(name  separator ';') concat
  from test.test_mysql_liezhuanhang 
;
で区切られます。

mysqlのカラム変換関数とは何ですか?

すべての名前を表示し、同じ名前の重複を削除します

select group_concat(distinct name) concat
  from test.test_mysql_liezhuanhang 
;

mysqlのカラム変換関数とは何ですか?

すべての年齢を表示し、重複を削除し、年齢で昇順に並べ替えます注文

select group_concat(distinct age order by age) concat
  from test.test_mysql_liezhuanhang 
;

mysqlのカラム変換関数とは何ですか?

推奨学習: mysql ビデオ チュートリアル

以上がmysqlのカラム変換関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。