读书人

使用wm_concat()遇到的有关问题,多个参

发布时间: 2012-06-07 15:05:14 作者: rapoo

使用wm_concat()遇到的问题,多个参数的分组和排序
现在有一个表的数据是这样的

sid||fid
1 0
1 1
1 2
1 3
1 4
1 5
2 0
2 1
2 2
2 3

使用wm_concat(sid||'-'||fid)
显示出来的结果是
1-0,1-5,1-4,1-3,1-2,1-1
2-0,2-3,2-2,2-1


但是我希望查询的数据是 根据sid分组 根据fid排序
1-0,1-1,1-2……这样
网上看到有说用over(partition by xx order by xx)来做,
但是我这个是根据两列做的拼装,必须加上group by sid,fid
查询出来的结果变成了这样

1-0,
1-0,1-1
1-0,1-1,1-2 ……

不知道我这样的功能需要什么方法来做?麻烦高人提点 谢谢

[解决办法]
和group by 有什么关系?不就是变成阶梯式了吗

SQL code
over(partition by sid,fid order by fid rows between unbounded preceding and unbounded following)
[解决办法]
先按fid排序再使用wm_concat(sid||'-'||fid)

读书人网 >oracle

热点推荐