चूंकि त्रुटि बताती है for SELECT DISTINCT, ORDER BY expressions must appear in select list
.इसलिए, आपको उस खंड के लिए स्पष्ट रूप से चयन करना होगा जिसके द्वारा आप आदेश दे रहे हैं।
यहां एक उदाहरण दिया गया है, यह आपके मामले के समान है लेकिन इसे थोड़ा सामान्य करें।
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
तो, स्पष्ट रूप से अपना ORDER BY
. शामिल करें खंड (इस मामले में RANDOM()
) .select()
. का उपयोग करके . जैसा कि ऊपर दिखाया गया है, आपकी क्वेरी के लिए आलेख विशेषताओं को वापस करने के लिए, आपको उन्हें भी स्पष्ट रूप से चुनना होगा।
मैं इस उम्मीद में हूँ की इससे मदद मिलेगी; शुभकामनाएँ