SSIS 2012:如何按键计数?
我有一个重复键值的数据集。在下面的示例中,每次不同的组(保留列)发生状态更改时,订单号都会重复 有很多关于如何删除重复项的例子,但我实际上想数一数。我想看到的是:SSIS 2012:如何按键计数?,ssis,Ssis,我有一个重复键值的数据集。在下面的示例中,每次不同的组(保留列)发生状态更改时,订单号都会重复 有很多关于如何删除重复项的例子,但我实际上想数一数。我想看到的是: Order # | Hold | Count ---------------------------- 123456 | H2 | 1 123456 | H1 | 2 564653 | H1 | 1 保留没有时间值,日期可以是相同的日期。计数的顺序并不重要,因此对
Order # | Hold | Count
----------------------------
123456 | H2 | 1
123456 | H1 | 2
564653 | H1 | 1
保留没有时间值,日期可以是相同的日期。计数的顺序并不重要,因此对于123456,H1可能有1,H2可能有2。也许计数不是正确的术语
我如何在SSIS 2012中实现这一点 使用ROW_NUMBER()函数
declare @tablename table (OrderNum varchar(10), Hold varchar(3))
insert into @tablename (OrderNum, Hold)
select '123456', 'H1'
union all
select '123456', 'H2'
union all
select '564653', 'H1'
select
OrderNum, Hold,
ROW_NUMBER() over (partition by OrderNum order by Hold DESC) as [Count]
from @tablename
仅供参考。。
如果您要订购,请将“按暂挂说明订购”更改为“按暂挂ASC订购”
declare @tablename table (OrderNum varchar(10), Hold varchar(3))
insert into @tablename (OrderNum, Hold)
select '123456', 'H1'
union all
select '123456', 'H2'
union all
select '564653', 'H1'
select
OrderNum, Hold,
ROW_NUMBER() over (partition by OrderNum order by Hold DESC) as [Count]
from @tablename