DELETE t FROM(SELECT (SELECT COUNT(*) + 1 FROM Table WHERE code=t.code AND ID > t.ID) AS RowNo,code,Col2,Col3,Col4FROM Table t)tWHERE t.RowNo<>1For SQL 2005:DELETE t FROM(SELECT ROW_NUMBER() OVER(PARTITION BY code ORDER BY ID DESC) AS RowNoFROM Table)tWHERE t.RowNo<>1
DELETE xFROM table1 AS xLEFT JOIN ( SELECT MAX(ID) AS ID FROM table1 ) AS y ON y.ID = x.IDWHERE y.ID IS NULL