sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Få senaste förekomsten av fält mot varje rad

I SQL Server 2012+ kan du använda lag() . I SQL Server 2008 kan du använda en korrelerad underfråga eller yttre tillämpning. Här är en metod:

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;


  1. Hur man väljer jämförelse av två kolumner som en kolumn i Oracle

  2. Validerar SQL-fråga med PHP

  3. MySQL för att välja maxvärde mellan på och av tidsstämplar plus 3 sekunder

  4. postgresql nästaval fråga om sekvenser