To, że nie da się użyć podzapytania to już wyjaśnił
@TomASS, ale ja bym tutaj nie uciakał od php bo będzie bardzo pomocne i nie będzie trzeba robić akrobatycznych wyczynów z tabelą pomocniczą.
1. Pobieramy liczbe rekordów w tabeli:
SELECT COUNT(*)
FROM tabela;
2. Pobieramy ten wynik w php i dzielimy go na dwa; mamy teraz zmienną
$limit;
3. Wykonujemy zapytanie:
<?php
mysq_query( 'DELETE FROM tabela ORDER BY RAND() LIMIT ' . $limit );
?>
Tak więc zastanów sie czy na pewno chcesz uciec od php w tej sytuacji.