sql >> Database >  >> RDS >> Mysql

Verwijder alle rijen behalve de eerste N uit een tabel met een enkele kolom

Als u uw records kunt bestellen op friends_name , en als er geen duplicaten zijn, kunt u dit gebruiken:

DELETE FROM names
WHERE
  friends_name NOT IN (
    SELECT * FROM (
      SELECT friends_name
      FROM names
      ORDER BY friends_name
      LIMIT 10) s
  )

Zie fiddle hier .

Of je kunt dit gebruiken:

DELETE FROM names ORDER BY friends_name DESC
LIMIT total_records-10

waarbij total_records is (SELECT COUNT(*) FROM names) , maar u moet dit met code doen, u kunt geen telling in de LIMIT-clausule van uw zoekopdracht plaatsen.



  1. De IRI-Windocks Test Database Repository

  2. Geef waarden door die uit een bestand zijn gelezen als invoer voor een SQL-query in Oracle

  3. Hoe auto_increment-waarden opnieuw te gebruiken?

  4. Node JS asynchrone database-oproepen