我有一个包含以下格式的数据的表
id | name | age
----------------------------
1 | John | 24
2 | Sam | NULL
3 | Ron | 32
4 | Harry | 44
现在我想把它拿到像
这样的行中1:John:24,2:Sam,3:Ron:32,4:Harry:44
我已尝试过group_concat,但它只给我一个用逗号分隔的列值,是否可以在mysql中使用?
答案 0 :(得分:4)
使用group_concat并连接在一起:
SELECT group_concat(concat(id, ':', name, ':', IFNULL(age,'')))
FROM table1
您可以执行此操作以将“:”移至
SELECT group_concat(concat(id, ':', name, IFNULL(concat(':',age),'')))
FROM table1
这是hes056创建的更新SQLFiddle。
答案 1 :(得分:0)
使用此:
select concat(id, ':',name, ':', age) as total_concated
from your_table
where 1