Użyj ORDER BY RAND() LIMIT 1;
, zgodnie z dokumentacją MySQL dla RAND()
(w dolnej części wyjaśnienia). Nie jestem pewien, czy można to zrobić bez zagnieżdżania, ale nie powinno to być aż tak drogie, biorąc pod uwagę, że zagnieżdżona tabela ma tylko 2 wiersze.
SELECT * FROM
(SELECT * FROM events WHERE featured = 1 ORDER BY timestamp DESC LIMIT 2)
ORDER BY RAND() LIMIT 1;