web-dev-qa-db-ja.com

mysqlで選択された値のコンマ区切り文字列

MySQLで選択した値をコンマ区切りの文字列に変換したい。私の初期コードは次のとおりです。

SELECT id FROM table_level where parent_id=4;

生産したもの:

'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'

希望する出力は次のようになります。

"5,6,9,10,12,14,15,17,18,779"
63
Karunakar

これをチェックして

SELECT GROUP_CONCAT(id)  FROM table_level where parent_id=4 group by parent_id;
143
naveen goyal

Parent_idに複数の行がある場合。

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;

スペースをコンマに置き換えたい場合。

SELECT REPLACE(id,' ',',') FROM table_level where parent_id=4;
10
Sanal K

最初にset group_concat_max_lenを使用します。そうしないと、すべての結果が得られません。

SET GLOBAL  group_concat_max_len = 999999;
SELECT GROUP_CONCAT(id)  FROM table_level where parent_id=4 group by parent_id;
6
cksahu

これを試して

SELECT CONCAT('"',GROUP_CONCAT(id),'"') FROM table_level 
where parent_id=4 group by parent_id;

結果は

 "5,6,9,10,12,14,15,17,18,779"
5
Ankit Sharma

group_concat() mysqlの関数を使用します。

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;

次のような連結された文字列を提供します:

5,6,9,10,12,14,15,17,18,779 
5
Nishu Tayal

Mysqlで group_concat メソッドを使用します

2
hepizoj

グループ内の値間のデフォルトの区切り文字はコンマ(、)です。他のセパレータを指定するには、以下に示すようにSEPARATORを使用します。

SELECT GROUP_CONCAT(id SEPARATOR '|')
FROM `table_level`
WHERE `parent_id`=4
GROUP BY `parent_id`;

5 | 6 | 9 | 10 | 12 | 14 | 15 | 17 | 18 | 779

区切り文字を削除するには、SEPARATOR ''を使用します

SELECT GROUP_CONCAT(id SEPARATOR '')
FROM `table_level`
WHERE `parent_id`=4
GROUP BY `parent_id`;

詳細情報を参照してください GROUP_CONCAT

1
Rohan Khude