我想通过使用SQL查询来规范化表中的值。
我的桌子是这样的:
id name
--------
1 A
1 B
1 C
2 D
2 E
需要这样的表格:
id name
----------
1 A,B,C
2 D, E
只想知道我应该采用什么逻辑。
答案 0 :(得分:2)
使用aggregate function LISTAGG()
:
SELECT id, LISTAGG(name, ',') WITHIN GROUP (ORDER BY name) name
FROM mytable
GROUP BY id
ID | NAME -: | :---- 1 | A,B,C 2 | D,E