sql >> Databáze >  >> RDS >> Mysql

MySql randomizuje posledních 10 řádků

Za předpokladu, že time je čas, kdy byl vložen záznam, dostanete posledních 10 řádků z tabulky:

SELECT * FROM `table` WHERE `amount` > `amount2` AND `code` = '$code'
  ORDER BY `time` DESC LIMIT 10

Nyní můžete výsledek použít jako dočasnou tabulku, seřadit ji náhodně (protože má pouze 10 řádků) a vrátit jeden řádek:

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. hrábě přerušeno! neinicializovaná konstanta Mysql2

  2. Seskupení data a času MySQL do intervalů bez ohledu na časové pásmo

  3. KDE VŠE NENÍ NULL

  4. Porovnání Oracle MySQL, Percona Server a MariaDB