作者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/cn.aspx?n=bbs/Database/M.1735705938.A.403.html