作者rongkuo (small kuo)
看板Database
標題Re: [SQL ] oracle sql 語法請教
時間Wed Jan 1 12:32:16 2025
※ 引述《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;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.172.116.173 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1735705938.A.403.html