PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

रेल 3, ActiveRecord, PostgreSQL - .uniq कमांड काम नहीं करता है?

चूंकि त्रुटि बताती है 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() . का उपयोग करके . जैसा कि ऊपर दिखाया गया है, आपकी क्वेरी के लिए आलेख विशेषताओं को वापस करने के लिए, आपको उन्हें भी स्पष्ट रूप से चुनना होगा।

मैं इस उम्मीद में हूँ की इससे मदद मिलेगी; शुभकामनाएँ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mac . पर Postgres.app इंस्टॉल करें

  2. व्याख्या विश्लेषण को कैसे समझें

  3. डेबियन/उबंटू पर एक पोस्टग्रेएसक्यूएल प्रतिकृति सेटअप बनाना

  4. SQL उन तत्वों का चयन करता है जहाँ फ़ील्ड का योग N . से कम है

  5. पीजीबैकरेस्ट कैसे स्थापित करें