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

Kesulitan memilih satu baris acak dari tabel MySQL

Kode Anda mengembalikan beberapa baris karena rand() dievaluasi pada setiap baris. Jadi, Anda memiliki perubahan beberapa pertandingan. Dan kemungkinan tidak ada pertandingan sama sekali.

Anda dapat menggunakan ide Anda, tetapi cobalah cara ini:

select relusers.uname
from relusers cross join
     (selext @rand := rand()) const
where relusers.users_id = floor(@rand*46+1);

Ini menghasilkan hanya satu nilai acak dan karenanya hanya satu baris. Namun, dengan hanya 46 baris, order by metode harus berkinerja cukup baik:

select relusers.uname
from relusers
order by rand()
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. Kehilangan koneksi ke server MySQL saat mencoba terhubung ke server MySQL jarak jauh

  2. MYSQL:JIKA memiliki kondisi OR ®EXP cocok

  3. Dapatkan terjemahan teks atau basis data

  4. Bagaimana cara memperbarui tabel dari satu server ke server lain?

  5. Cara terbaik untuk membuat file konfigurasi (config.php) php