2

次の形式のデータを含むテーブルがあります

id    |    name   |   age
----------------------------
1     |    John   |   24
2     |    Sam    |   NULL
3     |    Ron    |   32
4     |    Harry  |   44

今、私はこれを次のように1行にフェッチしたい

1:John:24,2:Sam,3:Ron:32,4:Harry:44

group_concat を試してみましたが、コンマで区切られた列の値が 1 つしか表示されません。mysql で可能ですか?

4

2 に答える 2

4

group_concat と concat を一緒に使用します。

SELECT group_concat(concat(id, ':', name, ':', IFNULL(age,''))) 
FROM table1

これを行うと、「:」を移動できます

SELECT group_concat(concat(id, ':', name, IFNULL(concat(':',age),''))) 
FROM table1

そして、hims056 が作成した更新されたSQLFiddleを次に示します。

于 2013-05-09T11:26:32.570 に答える
0

これを使って:

 select concat(id, ':',name, ':', age) as total_concated 
 from your_table 
 where 1
于 2013-05-09T11:23:48.043 に答える