Contador que reinicia conforme mudanca de registro ?
Pessoal, sou novo aqui e preciso de um help sobre um contador T-SQL (por favor !!!):
Tenho a tabela dbo.teste:
id (int) texto (varchar(50))
==== ======
1 texto1
30 texto2
500 texto3
30 texto4
500 texto5
Resultado esperado:
NOrdemId id texto
======= ======= ======
1 1 texto1
1 30 texto2 (contador reiniciado, pois Id mudou)
2 30 texto4
1 500 texto5 (contador reiniciado, pois Id mudou)
2 500 texto3
Como pode perceber, ao mudar o id o contador é reiniciado.
Montei a função abaixo que é um contador simples e não reinicia o contador:
ALTER FUNCTION dbo.contadorteste ()
RETURNS @TabelaAcumulada TABLE (NOrdemId int IDENTITY (1, 1), id int, texto varchar(50))
AS
BEGIN
DECLARE @RowsAdded int
DECLARE @NOrdemId int
INSERT @TabelaAcumulada
SELECT id, texto
FROM dbo.teste
ORDER BY id
SET @RowsAdded = @@rowcount
SET @NOrdemId = 1
WHILE @NOrdemId <= @RowsAdded
BEGIN
SET @NOrdemId = @NOrdemId + 1
END
RETURN
END
O resultado desta função é:
NOrdemId id texto
======= ======= ======
1 1 texto1
2 30 texto2
3 30 texto4
4 500 texto5
5 500 texto3
Discussão (1)
Carregando comentários...