Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Abrufen des letzten Vorkommens des Felds für jede Zeile

In SQL Server 2012+ können Sie lag() verwenden . In SQL Server 2008 können Sie eine korrelierte Unterabfrage oder eine äußere Anwendung verwenden. Hier ist eine Methode:

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;