我的表学生就像
Id Name Dept
---------------
2 Ball A
3 Cat B
1 Dog C
2 Egg C
3 Fox D
4 Gun A
1 Hen B
1 Apple A
现在我希望得到结果
Dept Names
-------------------
A Apple,Ball,Gun
B Hen,Cat
C Dog,Egg
D Fox
这里的连接应该根据Id列的升序来完成。 我已经尝试过使用wm_concat(),xmlagg(xmlelement())函数,但是并没有使用列Id顺序。
我的数据库版本是Oracle 10.2.0.5.0
谢谢
答案 0 :(得分:2)
首先尝试在子查询上排序值,然后再使用wm_concat
。我在我的工作站上测试了它,它工作正常。无法创建一个sqlfiddle,因为它不允许我使用wm_concat
函数
select dept, wm_concat(name) from
(
select id, name, dept
from test
order by dept, id, name
) group by dept
答案 1 :(得分:0)
尝试使用WM_CONCAT函数,
SELECT dept, WM_CONCAT(name) names
FROM(
SELECT dept, name
FROM students
order by name
)
GROUP BY dept
ORDER BY dept;