当前位置: 代码迷 >> Oracle开发 >> 使用wm_concat()遇到的有关问题,多个参数的分组和排序
  详细解决方案

使用wm_concat()遇到的有关问题,多个参数的分组和排序

热度:52   发布时间:2016-04-24 07:28:23.0
使用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)