Mysql
 sql >> Database >  >> RDS >> Mysql

Elimina tutte le righe tranne la prima N da una tabella con una singola colonna

Se puoi ordinare i tuoi dischi con friends_name , e se non ci sono duplicati, puoi usare questo:

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

Si prega di vedere violino qui .

Oppure puoi usare questo:

DELETE FROM names ORDER BY friends_name DESC
LIMIT total_records-10

dove total_records è (SELECT COUNT(*) FROM names) , ma devi farlo tramite codice, non puoi inserire un conteggio nella clausola LIMIT della tua query.