【发布时间】:2019-11-18 19:40:25
【问题描述】:
如何在 SQL Server 中针对关键字重置计数器?在以下数据中,每次找到字符串'A',计数器都需要重置为1:
Item Date
A 01.01.2019
B 02.01.2019
C 03.01.2019
D 04.01.2019
A 05.01.2019
B 06.01.2019
A 07.01.2019
B 08.01.2019
C 09.01.2019
D 10.01.2019
E 11.01.2019
A 12.01.2019
A 13.01.2019
A 14.01.2019
B 15.01.2019
每次找到A 时我都需要重置计数器:
Count Item Date
1 A 01.01.2019
2 B 02.01.2019
3 C 03.01.2019
4 D 04.01.2019
1 A 05.01.2019
2 B 06.01.2019
1 A 07.01.2019
2 B 08.01.2019
3 C 09.01.2019
4 D 10.01.2019
5 E 11.01.2019
1 A 12.01.2019
1 A 13.01.2019
1 A 14.01.2019
2 B 15.01.2019
【问题讨论】:
-
从您的问题示例中,似乎始终是 A = 1、B = 2、C = 3 等...如果您的系列中没有漏洞,您可以映射 A=> 1, B=>2, C=> 3 等等...?
-
同一日期可以有多个项目吗?项目
'A'可以在一个日期重复吗? -
我只是在简化我的问题。 Item 是批处理作业的名称,Date 是时间戳。我有一系列子作业的日志条目,我需要找到来自同一批次运行的那些。这有点棘手,因为由于错误,最后一项工作并不总是相同的。起点 (A) 始终被定义,但终点可以是 (D)、(B) 或只是 (A) 本身。
标签: sql sql-server tsql window-functions