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.