Eftersom felet säger for SELECT DISTINCT, ORDER BY expressions must appear in select list
.Därför måste du uttryckligen välja för den klausul du beställer efter.
Här är ett exempel, det liknar ditt fall men generalisera lite.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Så inkludera uttryckligen din ORDER BY
sats (i det här fallet RANDOM()
) med .select()
. Som visas ovan måste du också uttryckligen välja dem för att din fråga ska returnera artikelattributen.
Jag hoppas det här hjälper; lycka till