sql >> Databáze >  >> RDS >> Mysql

Odstraňte všechny řádky kromě prvního N z tabulky s jedním sloupcem

Pokud si můžete své nahrávky objednat podle friends_name a pokud neexistují žádné duplikáty, můžete použít toto:

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

Viz housle zde .

Nebo můžete použít toto:

DELETE FROM names ORDER BY friends_name DESC
LIMIT total_records-10

kde total_records je (SELECT COUNT(*) FROM names) , ale musíte to udělat pomocí kódu, nemůžete vložit počet do klauzule LIMIT vašeho dotazu.



  1. Proč INSERT IGNORE zvyšuje primární klíč auto_increment?

  2. Chyby T-SQL, úskalí a osvědčené postupy – funkce oken

  3. Aktivaci aktivujte pouze v případě, že je na serveru SQL Server splněna podmínka

  4. Jak najít podobné výsledky a seřadit je podle podobnosti?