Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySql randomiza as últimas 10 linhas


Supondo que time é a hora em que o registro foi inserido, isso fornecerá as últimas 10 linhas da tabela:
SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
  ORDER BY `time` DESC LIMIT 10

Agora, você pode usar o resultado como uma tabela temporária, classificá-lo aleatoriamente (já que são apenas 10 linhas) e retornar uma linha:
SELECT * FROM (
  SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
    ORDER BY `time` DESC LIMIT 10
) AS temptable 
ORDER BY RAND()
LIMIT 1