我正在使用Oracle SQL,我对group by
命令有疑问。
我有下表:
Column_A (int)
Column_B (int)
表中数据的示例:
Column_A | Column_B
11 | 2
23 | 3
32 | 4
32 | 10
11 | 23
23 | 11
44 | 1
23 | 5
我希望按Column_A
分组,而Column_b
的值将以逗号结束。输出表:
Column_A | Column_B
11 | 2, 23
23 | 3, 11
32 | 4, 10, 5
44 | 1
任何建议如何做到这一点?
答案 0 :(得分:2)
使用函数listagg
SELECT Column_A, listagg( Column_B, ',' ) WITHIN GROUP( order by Column_B)
FROM table_name
GROUP BY Column_A
答案 1 :(得分:2)
您可以使用LISTAGG:
SELECT column_A,
LISTAGG(column_B, ', ') WITHIN GROUP (ORDER BY column_B) column_B
FROM your_table
GROUP
BY column_A