Da fejlen angiver for SELECT DISTINCT, ORDER BY expressions must appear in select list
.Du skal derfor udtrykkeligt vælge den klausul, du bestiller efter.
Her er et eksempel, det ligner dit tilfælde, men generaliser lidt.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Så medtag udtrykkeligt din ORDER BY
klausul (i dette tilfælde RANDOM()
) ved hjælp af .select()
. Som vist ovenfor, for at din forespørgsel skal returnere artikelattributterne, skal du også udtrykkeligt vælge dem.
Jeg håber det hjælper; held og lykke