小编Shy*_*kin的帖子

反向分区

所以我在这样一张桌子上工作:

Sku ProductCode Product Id
01     11011         null
02     11021         null
03     11021         null
04     11011         null
05     11031         null
06     11041         null
Run Code Online (Sandbox Code Playgroud)

我想像这样更新产品 ID:

Sku ProductCode Product Id
01     11011         01
02     11021         02
03     11021         02
04     11011         01
05     11031         03
06     11041         04
Run Code Online (Sandbox Code Playgroud)

我正在使用这个查询:

with upd  
as  
(  
SELECT *, ROW_NUMBER() OVER (PARTITION BY [Product Code] ORDER BY [Product Code]) AS rnk  
FROM temp  
)  
UPDATE upd  
SET ProductId = rnk
Run Code Online (Sandbox Code Playgroud)

基本上我只想在它不同时才计数。不使用任何函数或过程的任何想法?连续语句很好,更多列也是如此。

sql sql-server-2008

3
推荐指数
1
解决办法
581
查看次数

标签 统计

sql ×1

sql-server-2008 ×1