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

Rel pilih catatan acak

Sebagian besar contoh yang saya lihat yang melakukan ini akhirnya menghitung baris dalam tabel, kemudian menghasilkan nomor acak untuk memilih satu. Ini karena alternatif seperti RAND() tidak efisien karena mereka benar-benar mendapatkan setiap baris dan memberi mereka nomor acak, atau begitulah yang saya baca (dan menurut saya spesifik untuk basis data).

Anda dapat menambahkan metode seperti yang saya temukan di sini .

module ActiveRecord
  class Base
    def self.random
      if (c = count) != 0
        find(:first, :offset =>rand(c))
      end
    end
  end
end

Ini akan membuatnya jadi Model apa pun yang Anda gunakan memiliki metode yang disebut random yang bekerja dengan cara yang saya jelaskan di atas:menghasilkan angka acak dalam hitungan baris dalam tabel, lalu mengambil baris yang terkait dengan angka acak itu. Jadi pada dasarnya, Anda hanya melakukan satu pengambilan yang mungkin Anda sukai :)

Anda juga dapat melihat plugin rails ini .



  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 meningkatkan Basis Data osCommerce dari v2.2 ke v2.3

  2. Apakah Diucapkan "S-Q-L" atau "Sekuel"?

  3. Cara membuat database dengan Liquibase

  4. Mode apa untuk MySQL WEEK() yang sesuai dengan ISO 8601

  5. Bagaimana cara mengubah baris tabel mysql menjadi kolom