se puoi usare le subquery prova questa

codice:
select * from (
select * from tabella where campo_data > curdate() order by rand() limit 5) as tab1
order by campo_data