Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Atualizar um campo de uma tabela existente com a lógica de incremento automático


O que você quer fazer é classificar os registros nas partições. A consulta para fazer o que você quer é esta :
WITH sorted AS (
    SELECT id, ROW_NUMBER() OVER(PARTITION BY ProductTypeId ORDER BY id ASC) as rownum
    FROM product
)
UPDATE product
SET [order] = s.rownum
FROM product p
   INNER JOIN sorted s on (p.id = s.id);