Então eu tenho uma tabela que possui uma coluna chamada 'sequência', na verdade não é um tipo de dados de sequência, apenas um campo numérico que se traduz no modelo de objeto para mostrar os itens em uma determinada ordem. Em alguns casos, devido à manipulação do banco de dados, alguns registros terão uma sequência duplicada, resultando na incapacidade de reordenar na IU. Noutros casos, existem lacunas na sequenciação (o que não é um problema grave). O que pretendo fazer é renumerar esses campos numéricos começando em 1, mas é necessário agrupá-los pelo campo 'co' e depois pelo campo de sequência existente que você vê abaixo:
Esta é a consulta que executei para obter os resultados que você vê:
SELECT row_number() OVER (ORDER BY C.co, T.sequence) AS RowNum, C.co, T.sequence
FROM TNode T
INNER JOIN CInfo C ON C.guidfield = T.contextID
WHERE T.nodeTypeID = '0EC43D28-EA1F-4FBE-BA50-06161AFAB382'
AND T.parentNodeID ='A276DF06-4569-11D5-8052-00D0B7696EF9'
GROUP BY C.co, T.sequence
O que estou procurando alcançar é isso. Observe como a sequência é ligeiramente renumerada em registros onde não é um 1, 2, 3 direto... mas tem que começar de 1 novamente cada vez que um novo 'co' é encontrado, e então também ordenar pela sequência existente que é lá :