Sql server 更新组MS SQL上的增量行数

Sql server 更新组MS SQL上的增量行数,sql-server,Sql Server,我在下面寻找的输出 CREATE TABLE PickSequence( [PickItemCode] [varchar](30) NOT NULL, [PickSequence] [numeric](18, 0) NULL, ) INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',1) INSERT INTO PickSequence (PickItemCode, PickSequen

我在下面寻找的输出

CREATE TABLE PickSequence(
    [PickItemCode] [varchar](30) NOT NULL,
    [PickSequence] [numeric](18, 0) NULL,
)

INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',1)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',2)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',3)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',NULL)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',NULL)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695D-CV',NULL)

INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695C-CV',NULL)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695C-CV',NULL)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695C-CV',NULL)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695C-CV',NULL)
INSERT INTO PickSequence (PickItemCode, PickSequence) VALUES ('695C-CV',NULL)

SELECT PickItemCode, PickSequence FROM PickSequence ORDER BY PickItemCode, PickSequence

| PickItemCode | PickSequence |
|:------------:|--------------|
| 695D-CV      | 1            |
| 695D-CV      | 2            |
| 695D-CV      | 3            |
| 695D-CV      | NULL         |
| 695D-CV      | NULL         |
| 695D-CV      | NULL         |
| 695C-CV      | NULL         |
| 695C-CV      | NULL         |
| 695C-CV      | NULL         |
| 695C-CV      | NULL         |
| 695C-CV      | NULL         |
使用下面的代码,我可以查询创建我要查找的序列号的表,但不确定如何让它查看PartItemCode的最高值

| PickItemCode | PickSequence |
|:------------:|--------------|
| 695D-CV      | 1            |
| 695D-CV      | 2            |
| 695D-CV      | 3            |
| 695D-CV      | 4            |
| 695D-CV      | 5            |
| 695D-CV      | 6            |
| 695C-CV      | 1            |
| 695C-CV      | 2            |
| 695C-CV      | 3            |
| 695C-CV      | 4            |
| 695C-CV      | 5            |

我要做的是用PickItemCode分组的序列中的下一个数字来更新PickSequence值。

uhm…什么?你能澄清一下结果是什么吗?类似于
ROW_number()的内容(按PickItemCode顺序分区,当PickSequence为空时,按大小写,然后按1或0结束,PickSequence)
?以文本形式发布表格和数据,向我们展示db模式、示例数据和预期输出。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。我更新了问题以更好地反映问题。希望有帮助
SELECT PickItemCode,
    PickSequence = ROW_NUMBER() OVER(PARTITION BY PickItemCode ORDER BY PickItemCode) ,
    [Part_Index] = DENSE_RANK() OVER (ORDER BY PickItemCode)
FROM PickSequence
UPDATE UpdateTarget 
SET PickSequence = NewSequence
FROM
(
    SELECT PickSequence,
    ROW_NUMBER() OVER(PARTITION BY PickItemCode ORDER BY CASE WHEN PickSequence IS NULL THEN 1 ELSE 0 END, PickSequence) as NewSequence
    FROM PickSequence
) as UpdateTarget