ステートメント
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
説明
あるグループからの接続を含む非NULL値の文字列結果を返します。
ORDER BYはソート列を指定するために使用され、ASCは昇順を表し、DESCは降順を表します。デフォルトはASCです。SEPARATORは接続文字列間の区切り文字を指定するために使用されます。デフォルトの区切り文字は,です。
例
obclient> SELECT * FROM book; //テーブルbook(書籍番号、書籍名、出版社)
+--------+--------------------------------+-----------------------------+
| bookid | bookname | publishname |
+--------+--------------------------------+-----------------------------+
| 1 | git help | alibaba group publisher |
| 2 | MySQL性能优化 | 浙江大学图文出版社 |
| 3 | JAVA编程指南 | 机械工业出版社 |
| 3 | JAVA编程指南 | 机械工业出版社 |
| 4 | 大规模分布式存储系统 | 机械工业出版社 |
+--------+--------------------------------+-----------------------------+
5 rows in set
// 書籍名情報の検索
obclient> SELECT GROUP_CONCAT(bookname) FROM book GROUP BY bookname;
+-----------------------------------+
| GROUP_CONCAT(bookname) |
+-----------------------------------+
| git help |
| JAVA编程指南,JAVA编程指南 |
| MySQL性能优化 |
| 大规模分布式存储系统 |
+-----------------------------------+
4 rows in set
// 書籍名情報の検索、書籍名は一意
obclient> SELECT GROUP_CONCAT(distinct(bookname)) FROM book GROUP BY bookname;
+----------------------------------+
| GROUP_CONCAT(distinct(bookname)) |
+----------------------------------+
| git help |
| JAVA编程指南 |
| MySQL性能优化 |
| 大规模分布式存储系统 |
+----------------------------------+
4 rows in set
// 書籍名と出版社情報の検索、書籍名でグループ化し、出版社情報を降順でソート表示
obclient> SELECT bookname, GROUP_CONCAT(publishname ORDER BY publishname DESC SEPARATOR ';' ) FROM book GROUP BY bookname;
+--------------------------------+---------------------------------------------------------------------+
| bookname | GROUP_CONCAT(publishname ORDER BY publishname DESC SEPARATOR ';' ) |
+--------------------------------+---------------------------------------------------------------------+
| git help | alibaba group publisher |
| JAVA编程指南 | 机械工业出版社;机械工业出版社 |
| MySQL性能优化 | 浙江大学图文出版社 |
| 大规模分布式存储系统 | 机械工业出版社 |
+--------------------------------+---------------------------------------------------------------------+
4 rows in set