sql >> Databasteknik >  >> RDS >> Mysql

Ta bort alla rader utom första N från en tabell med en kolumn

Om du kan beställa dina poster efter friends_name , och om det inte finns några dubbletter kan du använda detta:

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

Se fiolen här .

Eller så kan du använda detta:

DELETE FROM names ORDER BY friends_name DESC
LIMIT total_records-10

där total_records är (SELECT COUNT(*) FROM names) , men du måste göra detta med kod, du kan inte sätta ett antal i LIMIT-satsen i din fråga.



  1. Säkerhetskopiera automatiskt MySQL-databas på linux-servern

  2. Varför fungerar inte GRANT i MySQL?

  3. Vilka är fördelarna med ett datahanteringssystem?

  4. Infoga/visa bild i/från en MySQL DB