DELETE
unterstützt ein ORDER BY
und LIMIT
Klausel, also ist es möglich. Allerdings wegen DELETE
Referenzbeschränkungen und Parameter von LIMIT
Sie benötigen zwei Abfragen.
SELECT COUNT(*) AS total FROM table WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;
Bitte beachten Sie, dass dies wahrscheinlich eine zwischengeschaltete Technologie erfordert. Ich habe die Abfragen als Referenz gezeigt.