我有以下输入表:
Seq Group GroupSequence
1 0
2 4 A
3 4 B
4 4 C
5 0
6 6 A
7 6 B
8 0
输出表为:
Line NewSeq GroupSequence
1 1
2 2 A
3 2 B
4 2 C
5 3
6 4 A
7 4 B
8 5
输入表的规则是:
Group 列中的任何正整数表示行被分组在一起。整个字段可能为 NULL 或空白。null 或 0 表示该行是单独处理的。在上面的示例中,有两个组和三个“单”行。
GroupSequence 列是在组内排序的单个字符。NULL、空白、“A”、“B”、“C”、“D”是唯一允许的字符。
如果 Group 为正整数,则 GroupSequence 中必须有字母字符。
我需要一个查询来创建输出表,其中包含一个按所示顺序排列的新列。外部应用程序需要以 Line 或 NewSeq 顺序遍历此表(相同的顺序,不同的值)
我尝试了 GROUP BY、PARTITION BY、OVER() 等的变体,但没有成功。非常感谢任何帮助。