作者:
rongkuo (small kuo)
2025-01-01 12:32:16※ 引述《nzmprophet (nzmprophet)》之銘言:
: 資料庫名稱:Oracle
: 資料庫版本:12c
: 內容/問題描述:如有一欄位內容值為 :
: 1
: null
: null
: 5
: null
: null
: 8
: null
: null
: 請問該怎麼下指令讓這一欄的值可以變成
: 1
: 1
: 1
: 5
: 5
: 5
: 8
: 8
: 8
: 請各位大神們指點一二 謝謝
CREATE TABLE T
(
ID NUMBER,
N NUMBER
);
INSERT INTO T VALUES (1,1);
INSERT INTO T VALUES (2,NULL);
INSERT INTO T VALUES (3,NULL);
INSERT INTO T VALUES (4,5);
INSERT INTO T VALUES (5,NULL);
INSERT INTO T VALUES (6,NULL);
INSERT INTO T VALUES (7,8);
INSERT INTO T VALUES (8,NULL);
INSERT INTO T VALUES (9,NULL);
SELECT ID 序號
, SUM(N) OVER(PARTITION BY GRP) 結果
, DENSE_RANK() OVER(ORDER BY GRP) 分群
FROM ( SELECT ID
, N
, SUM(N) OVER(ORDER BY ID) GRP
FROM T)
ORDER BY ID;