MariaDB 区切り文字で列を抽出する

MariaDB 区切り文字で列を抽出する

MariaDBで、区切り文字で列を抽出する手順を記述してます。「GROUP_CONCAT」に対象の列名を指定します。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS CentOS Stream release 9
  • MariaDB 10.10.2
  • phpMyAdmin 5.2.0

手順

区切り文字で列を抽出するには、「GROUP_CONCAT」を使用します。

GROUP_CONCAT(列名)

以下の「tbl1」というテーブルデータで実行してみます。

実行してみます。

SELECT GROUP_CONCAT(name) FROM tbl1;

実行結果を確認すると、カンマ区切りで列が抽出されていることが確認できます。

ORDER BY

ORDER BYをかけることも可能です。

SELECT 
GROUP_CONCAT(name ORDER BY name ASC) 
FROM tbl1;

実行結果

区切り文字を指定

「SEPARATOR」を使用すれば、区切り文字を指定することが可能です。
ここでは「全角スペース」を指定してます。

SELECT 
GROUP_CONCAT(name SEPARATOR ' ') 
FROM tbl1;

実行結果

重複削除

「DISTINCT」を使えば重複削除することもできます。

以下のデータで実行してみます。

実行してみます。

SELECT 
GROUP_CONCAT(DISTINCT name) 
FROM tbl1;

実行結果