我有一個輸入的數據集,看起來像這樣:甲骨文解析函數
header1,null,null,null
null,1,X,Y,Z
null,2,X,Y,Z
null,3,X,Y,Z
header2,null,null,null
null,4,X,Y,Z
null,5,X,Y,Z
null,6,X,Y,Z
我想寫針對輸入一個查詢返回的結果集,看起來像這樣:
header1,1,X,Y,Z
header1,2,X,Y,Z
header1,3,X,Y,Z
header2,4,X,Y,Z
header2,5,X,Y,Z
header2,6,X,Y,Z
我在Oracle 11g R2上。我一直在尋找Oracle分析介紹發現在這裏: http://www.oracle-base.com/articles/misc/analytic-functions.php
我在想有一個解決方案,但我還沒有找到它。我認爲的問題是我沒有什麼可以真正分組的。我唯一的'指標'是重複標題值,直到我擊中一組空值,然後抓住下一個標題並重復它,直到我擊中一些空值。所以訂單很重要,但你可以看到我們沒有專欄排序。
下面是幾個快速腳本來構建測試表並插入行。
謝謝你。
create table test (
col01 varchar2(10),
col02 varchar2(10),
col03 varchar2(10),
col04 varchar2(10))
insert into test values ('header1',null,null,null);
insert into test values (1,'X','Y','Z');
insert into test values (2,'X','Y','Z');
insert into test values (3,'X','Y','Z');
insert into test values ('header2',null,null,null);
insert into test values (4,'X','Y','Z');
insert into test values (5,'X','Y','Z');
insert into test values (6,'X','Y','Z');
如果您沒有專欄來訂購,您如何期望Oracle執行排序? –