Dengan asumsi bahwa time
adalah waktu ketika catatan dimasukkan, ini akan memberi Anda 10 baris terbaru dari tabel:
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
Sekarang, Anda dapat menggunakan hasilnya sebagai tabel sementara, mengurutkannya secara acak (karena hanya 10 baris) dan mengembalikan satu baris:
SELECT * FROM (
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
ORDER BY `time` DESC LIMIT 10
) AS temptable
ORDER BY RAND()
LIMIT 1