Показать случайный результат mysql

У меня есть таблица mysql с именами. Некоторые события представлены. Я хочу случайным образом отобразить одно из двух последних признанных событий. В поле «timestamp» содержится временная метка UNIX времени создания события.

Теперь запрос выглядит так:

$query = "SELECT * FROM events WHERE featured = 1 ORDER BY timestamp DESC LIMIT 2;"; 

Есть ли способ синтаксиса запроса, чтобы вернуть только одно из этих двух событий и отобразить его сразу, или мне нужно обойти его с помощью php?

Что здесь рекомендуется?

Solutions Collecting From Web of "Показать случайный результат mysql"

Используйте ORDER BY RAND() LIMIT 1; , согласно документации MySQL для RAND() (в нижней части пояснения). Я не уверен, что вы можете сделать это без вложенности, но это не должно быть так дорого, учитывая, что ваша вложенная таблица имеет только 2 строки.

 SELECT * FROM (SELECT * FROM events WHERE featured = 1 ORDER BY timestamp DESC LIMIT 2) ORDER BY RAND() LIMIT 1; 

Пытаться:

 SELECT * FROM (SELECT * FROM EVENTS WHERE featured = 1 ORDER BY `timestamp` DESC LIMIT 2) AS temp ORDER BY RAND() LIMIT 1