DELETE
поддържа ORDER BY
и LIMIT
клауза, така че е възможно. Въпреки това, поради DELETE
референтни ограничения и параметри на LIMIT
имате нужда от две заявки.
SELECT COUNT(*) AS total FROM table WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;
Моля, имайте предвид, че това вероятно ще изисква междинна технология. Показах заявките за справка.