如果我在MySQL中有一个包含以下数据的表:
如果表有四条记录。
id color 1 red 2 blue 3 yellow 4 pink
然后我想要像
这样的结果id color 1 red, blue, yellow & pink
如果表有两个记录,那么
id color 1 red 2 pink
然后我想要像
这样的结果id color 1 red & pink
我希望使用mysql获得此结果。
答案 0 :(得分:1)
你可以通过连接字符串和第一个" n - 1"来实现这一点。元素并添加到最后一个:
select concat(substring_index(list, ', ', cnt - 1), ' & ',
substring_index(list, ', ', -1)
)
from (select group_concat(color separator ', ') as list, count(*) as cnt
from table t
) t;
注意:如果表只有一行,则需要额外的逻辑。