首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

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

使用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)

热点排行