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

bagaimana cara mengacak pengambilan pertanyaan dari database?

Anda dapat menggunakan LIMIT m,n untuk membatasi jumlah hasil yang Anda dapatkan dan mengimbangi hasil dengan jumlah tertentu.

Sekarang Anda dapat melakukan sesuatu seperti:

 SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;

Di mana Anda menghitung $page berdasarkan $_GET variabel. Tapi ini tidak akan menyelesaikan keacakan Anda.

Anda selalu dapat menyemai RAND($key) dengan kunci tertentu yang Anda simpan di sesi Anda sehingga Anda dapat ORDER BY RAND($key) dan gunakan teknik limit di atas.

Mungkin yang paling sederhana untuk diterapkan adalah mendapatkan seluruh set hasil, mengocoknya, dan menyimpannya dalam cache. Kemudian gunakan php untuk hanya menampilkan bagian tertentu dari cache.

Karena ini terkait dengan pagination. Biarkan saya memberi tahu Anda, LIMIT m,n mungkin tidak secepat kedengarannya. Pelajari cara meningkatkannya dan baca lebih lanjut tentang Pagination Efisien Menggunakan MySQL



  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 cara menggabungkan dua baris dan menghitung perbedaan waktu antara dua nilai cap waktu di MySQL?

  2. Bergabung dengan Tabel dari Database yang berbeda

  3. Garis miring di tabel MySQL, tetapi menggunakan PDO dan kueri berparameter. Ada apa?

  4. Mengambil teks UTF-8 dari MySQL di R kembali ????

  5. Produk cartesian MySQL antara dua pernyataan SELECT