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

string_agg . के अंदर अलग-अलग क्रम को सुरक्षित रखें

जैसा कि आपको पता चला है, आप DISTINCT . को संयोजित नहीं कर सकते और ORDER BY यदि आप पहले विशिष्ट अभिव्यक्ति द्वारा आदेश नहीं देते हैं:

  • न तो समुच्चय में:

  • न ही चयन में:

हालाँकि

. जैसी किसी चीज़ का उपयोग कर सकता है
array_to_string(arry_uniq_stable(array_agg(nome ORDER BY tid DESC)), ', ') 

एक फंक्शन की मदद से arry_uniq_stable जो एक सरणी में डुप्लिकेट को हटा देता है w/o इसके क्रम को बदलता है जैसे मैंने https:// में एक उदाहरण दिया है। stackoverflow.com/a/42399297/5805552

कृपया ORDER BY . का उपयोग करने में सावधानी बरतें अभिव्यक्ति जो वास्तव में आपको एक नियतात्मक परिणाम देती है। आपने जो उदाहरण दिया है, उसके साथ tid अकेले पर्याप्त नहीं होगा, क्योंकि अलग-अलग nome . के साथ डुप्लिकेट मान (8) हैं ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल में pg_attribute तालिका पर धीमी अंतर्निहित क्वेरी को कैसे ठीक करें

  2. एकाधिक एक ही तालिका में शामिल होते हैं

  3. हाइबरनेट और पोस्टग्रेस्क्ल - हाइबरनेट मैपिंग फ़ाइल में जनरेटर वर्ग

  4. PostgreSQL सबसे पुराने रिकॉर्ड को छोड़कर सभी को हटा देता है

  5. क्रोंटैब प्रविष्टि का परीक्षण कैसे करें?