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

PostgreSQL GROUP_CONCAT () समतुल्य

कुछ RDBMS जैसे MySQL और MariaDB में एक GROUP_CONCAT() होता है फ़ंक्शन जो आपको एक क्वेरी कॉलम को एक सीमांकित सूची के रूप में वापस करने की अनुमति देता है (उदाहरण के लिए, अल्पविराम से अलग की गई सूची)।

PostgreSQL का एक समान कार्य है जिसे STRING_AGG() . कहा जाता है . यह फ़ंक्शन काफी हद तक उसी तरह काम करता है जैसे GROUP_CONCAT() MySQL और MariaDB में काम करता है।

उदाहरण

यह दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है कि कैसे PostgreSQL का STRING_AGG() फ़ंक्शन काम करता है:

SELECT STRING_AGG(genre, ',') FROM Genres;

परिणाम:

Rock,Jazz,Country,Pop,Blues,Hip Hop,Rap,Punk

यहां बताया गया है कि जब हम STRING_AGG() . के बिना केवल क्वेरी करते हैं तो क्या होता है समारोह:

SELECT genre FROM Genres;

परिणाम:

+---------+
|  genre  |
+---------+
| Rock    |
| Jazz    |
| Country |
| Pop     |
| Blues   |
| Hip Hop |
| Rap     |
| Punk    |
+---------+
(8 rows)

सभी मानों की एक लंबी अल्पविराम से अलग की गई पंक्ति के बजाय, हमें आठ पंक्तियाँ मिलती हैं, जिनमें से प्रत्येक का एक अलग मान होता है।

अगर कुछ है, तो PostgreSQL का STRING_AGG() MySQL के GROUP_CONCAT() . की तरह अधिक है मारियाडीबी के समान नाम के कार्य की तुलना में। मैं ऐसा इसलिए कह रहा हूं क्योंकि मारियाडीबी का GROUP_CONCAT() हमें एक LIMIT प्रदान करने की अनुमति देता है खंड (मारियाडीबी 10.3.3 से), फ़ंक्शन के भीतर से ही। MySQL GROUP_CONCAT() LIMIT का समर्थन नहीं करता खंड, और न ही PostgreSQL का STRING_AGG() समारोह (कम से कम, इस लेखन के समय नहीं)।

एक और अंतर यह है कि PostgreSQL का STRING_AGG() एक दूसरे तर्क की आवश्यकता है (जो उपयोग करने के लिए सीमांकक को निर्दिष्ट करता है)। MySQL और MariaDB दोनों अपने GROUP_CONCAT() . के साथ इसे वैकल्पिक बनाते हैं कार्य।

पोस्टग्रेज़ का STRING_AGG() एक ORDER BY स्वीकार करता है खंड, और एक DISTINCT खंड (जैसा कि मारियाडीबी और माईएसक्यूएल के GROUP_CONCAT() करते हैं कार्य)।

देखें STRING_AGG() अधिक उदाहरणों के लिए PostgreSQL में कार्य करें।

और यदि आप रुचि रखते हैं, तो SQL सर्वर में एक STRING_AGG() भी होता है फ़ंक्शन जो काफी हद तक उसी तरह काम करता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मावेन-असेंबली-प्लगइन के साथ आवश्यक ड्राइवरों को शामिल करते समय कोई उपयुक्त ड्राइवर नहीं मिला

  2. PostgreSQL डेटाबेस में SQL डंप आयात करें

  3. कॉलम एएससी द्वारा क्रमबद्ध करें, लेकिन पहले नल मान?

  4. रेल मॉडल में विदेशी कुंजी जोड़ना

  5. क्लाउड विक्रेता डीप-डाइव:Google क्लाउड प्लेटफ़ॉर्म (GCP) पर PostgreSQL