I SQL Server 2012 ville du bare bruge lag()
. Du kan replikere dette på forskellige måder i SQL Server 2008. Her er en metode, der bruger cross apply
:
select c.*
from content c cross apply
(select top 1 c2.*
from content c2
where c2.contentId = c.contentId and c2.UpdatedAt < c.UpdatedAt
order by c2.UpdatedAt desc
) cprev
where c.FileId <> cprev.FileId;