Algumas vezes precisamos numerar sequencialmente o resultado de uma consulta, e tanto o Oracle como SQL Server tem soluções parecidas para ter esta necessidade, a função Row_Number().
O uso desta função com a cláusula OVER nos possibilita resultados interessantes.
Sintaxe: Over Partition by Colunas Order by Colunas
Exemplo: Considerando uma tabela de funcionários com três colunas Empresa, IDFuncionario e Nome, queremos gerar uma coluna com a posição do funcionário em uma consulta ordenada pelo nome, onde a cada empresa o número deve ser reiniciado:
SELECT Empresa, IdFuncionario, Nome, Row_Number() Over (Partition by Empresa Order By Nome)
From Funcionarios
Vlw, foi de grande utilidade
ResponderExcluirMuito bom.
ResponderExcluir