连接Mysql中的字段

时间:2015-05-27 06:24:33

标签: mysql sql select string-concatenation

我有一张这样的表

id   name   value
1    Ram     a
2    John    b
3    Ram     c
4    Ram     d
5    John    e

我想要像这样的输出

name   value
Ram     a,c,d
John    b,e

有没有办法执行此查询?

更新:

表格式:

id   field1   value  field2
1    val1     a       null
2    val2     b       null
3    val1     c       null
4    val2     d       null
5    null     e       val1
5    null     f       val1
5    null     g       val2
5    null     h       val2

输出:

field1   field2   value
val1      null    a,c
val2      null    b,d
null      val1    e,f
null      val2    g,h

有没有办法执行此操作?

6 个答案:

答案 0 :(得分:5)

您可以使用group_concat

select
name, group_concat(value separator ',') as value
from table_name
group by name

此外,如果您想要订购价值,您可以在order by中使用group concat作为

select
name, group_concat(value order by value) as value
from table_name
group by name

答案 1 :(得分:1)

使用此:

SELECT field1, field2, GROUP_CONCAT(value ORDER BY value SEPARATOR ',')
AS value FROM table
GROUP BY field1, field2;

答案 2 :(得分:1)

使用group_concat()

SELECT name, GROUP_CONCAT(value) AS value FROM my_table group by name

答案 3 :(得分:1)

group_concat函数可以帮到你:

SELECT   name, GROUP_CONCAT(value) AS value
FROM     my_table
GROUP BY name

答案 4 :(得分:1)

Mysql GROUP_CONCAT可以帮到你。请参阅此链接中的示例https://www.percona.com/blog/2013/10/22/the-power-of-mysqls-group_concat/

答案 5 :(得分:1)

您必须使用group_concat

select name,group_concat(value) from tablename group by name
相关问题