我在表(SEQ,GROUP_CODE)中有这两列,其中包含以下数据(示例):
SEQ, GROUP_CODE
---------------
1, 2
2, 2
3, 2
4, 5
5, 2
6, 3
7, 5
我需要这样排序:
SEQ, GROUP_CODE
---------------
1, 2
2, 2
3, 2
5, 2
4, 5
7, 5
6, 3
基本上,使用序列开始排序和"排水"所有组记录,然后在排空其组之前转到下一个序列,依此类推。我知道我可以使用游标使用存储过程执行此操作,但是想知道是否可以使用ORDER BY
完成此操作。
答案 0 :(得分:3)
您可以在order by
中使用窗口函数。所以:
order by min(seq) over (partition by group_code),
seq