In SQL Server 2012+ puoi utilizzare lag()
. In SQL Server 2008 è possibile utilizzare una sottoquery correlata o un'applicazione esterna. Ecco un metodo:
select documentid, reference,
(select top 1 documentid
from table t2
where t2.reference = t.reference and
t2.documentid < t.documentid
order by documentid desc
) as LastDocumentId
from table t;