日期:2014-05-17  浏览次数:20768 次

oracle 排序问题
我现在得到的集合是
1
2
3
3
4
4
4
6
7

怎么能让排序的结果是
1
2
3
4
6
7
3
4
4
4   在线等 谢谢了
oracle排序

------解决方案--------------------
引用:
哦  不好意思  就是多写了个4   其实 就是想把这一列从小到大排一遍  如果还有数据就在从小到大排序  最终想要的结果例如是  1,2,3,4,6,7  这个是从小到大排序的,剩下的值在从小到大排序3,4,5

我测试了一下,应该是可以的:

select t.id
  from (select distinct t.id, 1 seq
          from test5 t
        union all
        select t1.id, 2 seq
          from (select t.id,
                       row_number() over(partition by t.id order by t.id) rn
                  from test5 t) t1
         where t1.rn > 1
         order by seq, id) t;