Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL memilih 10 baris acak dari 600 ribu baris dengan cepat

Pos yang bagus menangani beberapa kasus, dari yang sederhana, hingga celah, hingga yang tidak seragam dengan celah.

http://jan.kneschke.de/projects/mysql/order- by-rand/

Untuk sebagian besar kasus umum, berikut adalah cara melakukannya:

SELECT name
  FROM random AS r1 JOIN
       (SELECT CEIL(RAND() *
                     (SELECT MAX(id)
                        FROM random)) AS id)
        AS r2
 WHERE r1.id >= r2.id
 ORDER BY r1.id ASC
 LIMIT 1

Ini mengandaikan bahwa distribusi id sama, dan mungkin ada celah dalam daftar id. Lihat artikel untuk contoh lebih lanjut



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengubah MariaDB ke MySQL di XAMPP?

  2. Bagaimana saya bisa menghilangkan komentar ini di dump MySQL?

  3. Apa perbedaan antara INSERT dan UPDATE di MySQL?

  4. Fungsi MySQL DEGREES() – Mengkonversi Dari Radian ke Derajat

  5. MySQL – FOUND_ROWS() Fungsi untuk Jumlah Baris yang Terpengaruh