DELETE ondersteunt een ORDER BY en LIMIT clausule, dus het is mogelijk. Vanwege DELETE 's referentiële beperkingen en parameters van LIMIT je hebt twee vragen nodig.
SELECT COUNT(*) AS total FROM table WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;
Houd er rekening mee dat hiervoor waarschijnlijk een tussentechniek nodig is. Ik heb de zoekopdrachten ter referentie weergegeven.