Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Ottieni l'ultima occorrenza del campo su ogni riga

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;