Angenommen, diese time
ist die Zeit, zu der der Datensatz eingefügt wurde, erhalten Sie die letzten 10 Zeilen aus der Tabelle:
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
Jetzt können Sie das Ergebnis als temporäre Tabelle verwenden, es zufällig sortieren (da es nur 10 Zeilen sind) und eine Zeile zurückgeben:
SELECT * FROM (
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
) AS temptable
ORDER BY RAND()
LIMIT 1