https://foro.gambas-es.org/viewtopic.php?f=18&t=4160&p=23544#p23544
-----------------------------------
jguardon
Miercoles, 01 Octobre 2014, 12:46

Re: PhP Y Mysql: Borrado De Registros "sobrantes" De Una Tabla
-----------------------------------
Se me ocurre algo así (ojo que no lo he probado...):


[code linenumbers=false syntax=sql]DELETE FROM Datos WHERE Datos.campo NOT IN (SELECT top 10 * FROM DATOS ORDER BY PUNTUACION DESC);

-- o tambien -

DELETE FROM Datos WHERE  NOT EXIST (SELECT top 10 * FROM DATOS ORDER BY PUNTUACION DESC);[/code]


También puedes añadir un campo más a tu tabla y llenarlo con algo sólo los registros que devuelve tu consulta inicial TOP 10. Entonces ya puedes eliminar el resto sin peligro:

[code linenumbers=false syntax=sql]DELETE FROM Datos WHERE Datos.Top = ''; /* o NULL, depende de la config del campo */[/code]

Saludos


