SQL ORDER BY 一个序列列,然后是组中的所有记录,然后恢复下一个序列

SQL ORDER BY a sequence column then all records in group, then resume next sequence

我在 table(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

基本上,使用序列开始排序和 "drain" 所有组记录,然后再移动到下一个序列,然后排空其组等等。我知道我可以通过使用游标的存储过程来做到这一点,但我想看看这是否可以通过 ORDER BY 来完成。

您可以在 order by 中使用 window 函数。所以:

order by min(seq) over (partition by group_code),
      seq