DELETE obsługuje ORDER BY i LIMIT klauzuli, więc jest to możliwe. Jednak ze względu na DELETE ograniczenia referencyjne i parametry LIMIT potrzebujesz dwóch zapytań.
SELECT COUNT(*) AS total FROM table WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;
Należy pamiętać, że będzie to prawdopodobnie wymagało technologii pośredniczącej. Przedstawiłem zapytania w celach informacyjnych.