我在oracle数据库中有两列
+---------+---------+
| Column1 | Column2 |
+---------+---------+
| A | 1 |
| A | 2 |
+---------+---------+
Run Code Online (Sandbox Code Playgroud)
我希望退出数据,就像我将获得数据一样
+---------+---------+
| Column1 | Column2 |
+---------+---------+
| A | 1,2 |
+---------+---------+
Run Code Online (Sandbox Code Playgroud)
请给我解决方案.
Jus*_*ave 19
Tim Hall 在Oracle中有一个非常规范的字符串聚合技术列表.
您使用哪种技术取决于许多因素,包括Oracle的版本以及您是否在寻找纯粹的SQL解决方案.如果您使用的是Oracle 11.2,我可能会建议使用LISTAGG
SELECT column1, listagg( column2, ',' ) WITHIN GROUP( order by column2 )
FROM table_name
GROUP BY column1
Run Code Online (Sandbox Code Playgroud)
如果您使用的是早期版本的Oracle,假设您不需要纯SQL解决方案,我通常更喜欢使用用户定义的聚合函数方法.