选择以新行分隔的单列中的多行

Ami*_*hmi 1 mysql sql group-concat

我有一个值看起来像这样的表。

    Id Name Fruit
    ------------
    1 Jon  Apple
    ------------
    2 Jon  Orange
    ------------
    3 Jon  Grape
    ------------
    4 Mike Apple
    ------------
    5 Mike Orange
    -------------
Run Code Online (Sandbox Code Playgroud)

如何在 mysql 中将列区分为这样的内容?

    Name Fruit
    ----------
    Jon  Apple
         Orange
         Grape
    -----------
    Mike Apple
         Orange
    -----------
Run Code Online (Sandbox Code Playgroud)

Aru*_*amy 7

这应该做

SELECT name, GROUP_CONCAT(fruit SEPARATOR '\n') FROM your_table GROUP BY name
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

在 db<>fiddle 中进行编号的演示