【发布时间】:2021-05-13 22:30:18
【问题描述】:
谁能帮我计算 SQL Server 中的行数
Id Date Trend
A 15-1-20 Uptrend
A 14-1-20 Uptrend
A 13-1-20 Uptrend
A 12-1-20 NULL
A 11-1-20 Uptrend
A 10-1-20 Uptrend
A 09-1-20 NULL
预期结果
Id Date Trend Counttrend
A 15-1-20 Uptrend 3
A 14-1-20 Uptrend 2
A 13-1-20 Uptrend 1
A 12-1-20 NULL NULL
A 11-1-20 Uptrend 2
A 10-1-20 Uptrend 1
A 09-1-20 NULL NULL
CREATE TABLE #TREND (ID Varchar(2),[DATE] Date ,TREND Varchar(10))
INSERT INTO #trend
( ID, [DATE], TREND )
VALUES
('A', '01-15-2020', 'Uptrend'),
('A', '01-14-2020', 'Uptrend'),
('A', '01-13-20', 'Uptrend'),
('A', '01-12-20', NULL),
('A', '01-11-20', NULL),
('A', '01-10-20', 'Uptrend'),
('A', '01-09-20', 'Uptrend');
【问题讨论】:
-
什么DBMS?
-
微软 SQL 服务器
-
请向我们展示您的尝试。也许试试
row_number()? -
我试过 row_number 但它是一起计数的。如果值为空,我想要结果,那么计数应该重新开始。
-
向我们展示您的尝试。您可能需要调整分区。如果您以 DDL+DML 的形式提供示例数据,我们可以更轻松地为您提供帮助。
标签: sql sql-server tsql count cumulative-sum