sql >> Database >  >> RDS >> Sqlserver

Verwijder records die alleen ouder zijn dan 50 rijen terwijl u groepeert op 1 kolom

Gezien het feit dat je geen tabelschema hebt opgegeven, laten we zeggen dat de tabel er ongeveer zo uitziet

MyDealersTable
- DealerID
- SomeOtherColumn
- DealerMotherName
- DealerSportInterest
- SomeTimeStamp 

Je kunt iets proberen als

;WITH Dealers AS (
    SELECT *,
        ROW_NUMBER() OVER(PARTITION BY DealerID ORDER BY SomeTimeStamp DESC) RowID
    FROM MyDealersTable
)
DELETE 
FROM Dealers
WHERE RowID > 50

Van MET common_table_expression (Transact-SQL)




  1. mySQL-kolom om array te bevatten

  2. Verbeter de prestaties van MySQL-zoekopdrachten met volledige tekst

  3. PDO laat de laatste ID invoegen

  4. Oracle 18c Nieuwe functie:online wijzigen van partitionering