Mysql
 sql >> Base de données >  >> RDS >> Mysql

Supprimer toutes les lignes et conserver le dernier x à gauche

DELETE prend en charge un ORDER BY et LIMIT clause, donc c'est possible. Cependant, en raison de DELETE les restrictions référentielles de et les paramètres de LIMIT vous avez besoin de deux requêtes.

SELECT COUNT(*) AS total FROM table  WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;

Veuillez noter que cela nécessitera probablement une technologie intermédiaire. J'ai montré les requêtes pour référence.