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

Find næste række i SQL-forespørgsel og slet den kun, hvis forrige række matcher

with C as
(
  select ID,
         row_number() over(order by DT) as rn
  from YourTable
)
delete C1
from C as C1
  inner join C as C2
    on C1.rn = C2.rn-1 and
       C1.ID = C2.ID

SE-Data



  1. Aflæsning af en BLOB ved hjælp af JDBC Spring uden et resultatsæt

  2. Hvad sker der, når kolonnetypen TIMESTAMP ændres til DATETIME i MySQL?

  3. SQL, spørgsmål om joinforbindelse

  4. VÆLGER du øverste N rækker uden ROWNUM?