Forudsat at time
er tidspunktet, hvor posten blev indsat, vil dette give dig de seneste 10 rækker fra tabellen:
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
Nu kan du bruge resultatet som en midlertidig tabel, sortere det tilfældigt (da det kun er 10 rækker) og returnere en række:
SELECT * FROM (
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
) AS temptable
ORDER BY RAND()
LIMIT 1