W SQL Server 2012+ możesz użyć lag()
. W SQL Server 2008 można użyć skorelowanego podzapytania lub zastosowania zewnętrznego. Oto jedna metoda:
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;