sql >> Databáze >  >> RDS >> Sqlserver

SQL získat poslední výskyt pole proti každému řádku

V SQL Server 2012+ můžete použít lag() . V SQL Server 2008 můžete použít korelovaný poddotaz nebo vnější aplikaci. Zde je jedna metoda:

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. Jak přepsat vestavěný seznam ignorovaných slov uživatelem definovaným seznamem pro fulltextová ignorovaná slova v MySQL na LAMP?

  2. Syntaxe uložené procedury MySQL IF else

  3. Po určité době nasazení na serveru se nelze připojit k databázi

  4. Najít nejbližší místo podle PSČ?