Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL randomisiert die letzten 10 Zeilen

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