【发布时间】:2011-05-17 20:16:46
【问题描述】:
我无法生成一个新列。该表有三列(C_ID、C_rank、Date)。
C_ID C_ Rank NewColumn(Cycle) Date
42 A 1 October 14, 2010
42 B 1 October 26, 2010
42 A 2 February 16, 2011
43 A 1 December 17, 2010
44 A 1 July 28, 2010
44 B 1 August 10, 2010
44 A 2 January 11, 2011
44 B 2 January 28, 2011
45 A 1 July 30, 2010
45 B 1 August 9, 2010
45 B 1 September 24, 2010
45 A 2 April 5, 2011
45 B 2 April 26, 2011
我想再生成一个名为Cycle 的列,这样对于每个C_ID,它应该生成从一开始的数字并从下一个C_rank = 'A' 开始递增数字(如上所示)。
我尝试使用 row_number,但没有成功。
也许一些循环选项直到下一个C_Rank = 'A' 有效。
如何做到这一点?
【问题讨论】:
-
我一直追到 '45 组中的几行。
45 B 1 September 24, 2010。1不应该是2吗?45 B 2 April 26, 2011不应该是3吗?
标签: tsql