sql >> Database >  >> RDS >> Mysql

MySql randomiseert de laatste 10 rijen

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


  1. Een beperking voor een externe sleutel toevoegen aan een bestaande tabel in SQL Server (T-SQL)

  2. java.sql.Verbindingsextensie voor SSH

  3. MariaDB introduceert TO_CHAR()

  4. LEAST() Functie in Oracle