Ervan uitgaande dat time
is de tijd waarop het record werd ingevoegd, dit geeft u de laatste 10 rijen uit de tabel:
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
Nu kunt u het resultaat als een tijdelijke tabel gebruiken, het willekeurig sorteren (omdat het slechts 10 rijen zijn) en één rij retourneren:
SELECT * FROM (
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
) AS temptable
ORDER BY RAND()
LIMIT 1