【发布时间】:2017-05-25 08:14:20
【问题描述】:
我遇到了几个小时以来一直在努力解决的问题。 我正在尝试在临时表的列上创建一个特殊计数器,我的表有很多列,其中之一是 col1:
col1 |
######
X |
X |
A |
B |
X |
C |
X |
D |
特殊计数器应该是这样的:
col1 | counter
###############
X | 1
X | 2
A | 2
B | 2
X | 3
C | 3
X | 4
D | 4
它应该只计算“X”值,并保持不变,以防该值是其他值。
我尝试了很多东西,我得到的最接近的方法是创建另一个只有计数器的临时表,然后将它与原始表连接起来,但结果是这样的:
col1 | counter
###############
X | 1
X | 2
A | NULL
B | NULL
X | 3
C | NULL
X | 4
D | NULL
那么,我该如何创建这个特殊的计数器?
【问题讨论】:
-
您按哪一栏排序?什么版本的 SQL Server?
-
@DanField,临时表中还有一个 SortOrder 列,我用它来排序值,但问题中没有显示。
标签: sql sql-server tsql count counter