PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Rails 3, ActiveRecord, PostgreSQL - perintah .uniq tidak berfungsi?

Karena kesalahan menyatakan for SELECT DISTINCT, ORDER BY expressions must appear in select list .Oleh karena itu, Anda harus secara eksplisit memilih klausa yang Anda pesan.

Berikut ini sebuah contoh, ini mirip dengan kasus Anda tetapi digeneralisasikan sedikit.

Article.select('articles.*, RANDOM()')
       .joins(:users)
       .where(:column => 'whatever')
       .order('Random()')
       .uniq
       .limit(15)

Jadi, sertakan secara eksplisit ORDER BY . Anda klausa (dalam hal ini RANDOM() ) menggunakan .select() . Seperti yang ditunjukkan di atas, agar kueri Anda mengembalikan atribut Article, Anda juga harus memilihnya secara eksplisit.

Saya harap ini membantu; semoga berhasil



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengatur Kata Sandi Pengguna Default di PostgreSQL

  2. Resolusi milidetik dari DateTime di Ruby

  3. di postgres, dapatkah Anda mengatur pemformatan default untuk stempel waktu, berdasarkan sesi atau secara global?

  4. PostgreSQL:meningkatkan pg_dump, kinerja pg_restore

  5. Bagaimana Fungsi CONCAT() Bekerja di PostgreSQL