Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Losowy wiersz w MySQL

Pozwala to uniknąć powtórnej oceny random() podczas agregacji i powinno być również szybsze, ponieważ min(id) i random() są oceniane tylko raz.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy dobrym pomysłem jest używanie Hibernate do reprezentowania relacji tabel?

  2. Naprawianie uszkodzonego kodowania UTF-8

  3. Ochrona przed wstrzykiwaniem SQL za pomocą tylko str_replace

  4. Zestaw znaków konfiguracyjnych CodeIgniter i obsługa UTF-8

  5. MySQL:Dwie relacje n:1, ale nie obie jednocześnie