sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Obtener la última ocurrencia del campo contra cada fila

En SQL Server 2012+ puede usar lag() . En SQL Server 2008, puede usar una subconsulta correlacionada o una aplicación externa. Aquí hay un método:

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;