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

Náhodný řádek v MySQL

Tím se zabrání opakovanému vyhodnocování random() během agregace a měl by být také rychlejší, jako min(id) a random() jsou hodnoceny pouze jednou.

SELECT u.* 
FROM   users u
      ,(SELECT min(id) AS min_id, max(id) AS max_id FROM users) x
WHERE  u.id > (floor((x.max_id - x.min_id + 1) * rand()) + x.min_id)
LIMIT  1;


  1. Jak zobrazit rozevírací seznam s předem vybranou možností

  2. Zdá se, že nastavení schématu v PostgreSQL JDBC nefunguje

  3. Po připojení k databázi přepněte roli

  4. SQL Získejte celý řádek na základě minimální hodnoty počítaného sloupce