我有一个表,值看起来像这样。
Id Name Fruit ------------ 1 Jon Apple ------------ 2 Jon Orange ------------ 3 Jon Grape ------------ 4 Mike Apple ------------ 5 Mike Orange -------------
如何在mysql中将列区分为类似的内容?
Name Fruit ---------- Jon Apple Orange Grape ----------- Mike Apple Orange -----------
这应该做
SELECT name, GROUP_CONCAT(fruit SEPARATOR '\n') FROM your_table GROUP BY name
db <> fiddle中的演示
更新以添加编号:
SELECT name , GROUP_CONCAT(CONCAT (rn,')',fruit) SEPARATOR '\n') FROM ( SELECT * ,ROW_NUMBER() OVER (PARTITION BY name) AS rn FROM your_table ) SQ GROUP BY name
在db <> fiddle中编号的演示