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