Khi lỗi nêu rõ for SELECT DISTINCT, ORDER BY expressions must appear in select list
Do đó, bạn phải chọn rõ ràng điều khoản mà bạn đang đặt hàng.
Đây là một ví dụ, nó tương tự như trường hợp của bạn nhưng khái quát lại một chút.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Vì vậy, hãy bao gồm rõ ràng ORDER BY
của bạn mệnh đề (trong trường hợp này là RANDOM()
) bằng cách sử dụng .select()
. Như được hiển thị ở trên, để truy vấn của bạn trả về các thuộc tính Article, bạn cũng phải chọn chúng một cách rõ ràng.
Tôi hi vọng cái này giúp được; chúc may mắn