MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

SQL में अल्पविराम से अलग की गई सूची में एकाधिक पंक्तियाँ कैसे प्राप्त करें

अधिकांश प्रमुख RDBMS में एक फ़ंक्शन होता है जो हमें अपने क्वेरी परिणामों को अल्पविराम से अलग सूची के रूप में वापस करने में सक्षम बनाता है।

अर्थात्, हम अल्पविराम से अलग की गई सूची में प्रत्येक पंक्ति को एक अलग सूची आइटम में बदलने के लिए ऐसे फ़ंक्शन का उपयोग कर सकते हैं।

कुछ अधिक लोकप्रिय RDBMS में इसे कैसे प्राप्त किया जाए, इसके उदाहरण नीचे दिए गए हैं।

MySQL

MySQL में GROUP_CONCAT() है फ़ंक्शन जो हमें अल्पविराम से अलग की गई सूची में हमारे क्वेरी परिणामों को आउटपुट करने की अनुमति देता है:

SELECT GROUP_CONCAT(PetName) 
FROM Pets;

परिणाम:

Fluffy,Fetch,Scratch,Wag,Tweet,Fluffy,Bark,Meow

हम ऐसे काम भी कर सकते हैं, जैसे, डुप्लीकेट मानों को हटाना (DISTINCT . के साथ) क्लॉज), परिणामों के लिए एक ऑर्डर निर्दिष्ट करें (ORDER BY . के साथ) खंड), और एक अलग सीमांकक निर्दिष्ट करें।

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

Oracle डेटाबेस

Oracle डाटाबेस में LISTAGG() है समारोह:

SELECT LISTAGG(last_name, ', ')
FROM employees
WHERE job_id = 'IT_PROG';

परिणाम:

Hunold, Ernst, Austin, Pataballa, Lorentz    

MySQL की तरह, Oracle डेटाबेस भी हमें डुप्लिकेट मानों को हटाने, परिणामों के लिए एक ऑर्डर निर्दिष्ट करने, एक अलग विभाजक निर्दिष्ट करने आदि की अनुमति देता है।

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

एसक्यूएल सर्वर

SQL सर्वर में STRING_AGG() है अल्पविराम से अलग की गई सूची में हमारे परिणाम लौटाने का कार्य:

SELECT STRING_AGG(Genre, ',') AS Result FROM Genres

परिणाम:

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

हम डुप्लिकेट मान भी हटा सकते हैं, परिणामों के लिए एक आदेश निर्दिष्ट कर सकते हैं, सीमांकक बदल सकते हैं, आदि।

अधिक उदाहरणों के लिए SQL सर्वर में अल्पविराम से अलग की गई सूची के रूप में क्वेरी परिणाम कैसे लौटाएं देखें।

मारियाडीबी

MySQL की तरह, MariaDB में भी एक GROUP_CONCAT() है समारोह:

SELECT GROUP_CONCAT(PetName) 
FROM Pets;

परिणाम:

Fluffy,Fetch,Scratch,Wag,Tweet,Fluffy,Bark,Meow

उसी नाम के MySQL के फ़ंक्शन की तरह, हम भी कुछ काम कर सकते हैं, डुप्लिकेट मानों को हटा दें (DISTINCT के साथ) क्लॉज), परिणामों के लिए एक ऑर्डर निर्दिष्ट करें (ORDER BY . के साथ) खंड), विभाजक बदलें, आदि।

हालाँकि, एक चीज़ जो MariaDB के पास MySQL से अधिक है, वह है LIMIT खंड, जो हमें सूची में परिणामों की संख्या को सीमित करने की क्षमता प्रदान करता है।

मारियाडीबी देखें GROUP_CONCAT() अधिक उदाहरणों के लिए।

PostgreSQL

Postgres में STRING_AGG() है समारोह:

SELECT STRING_AGG(PetName, ',') 
FROM Pets;

परिणाम:

Fluffy,Fetch,Scratch,Wag,Tweet,Fluffy,Bark,Meow

हम डुप्लिकेट मान भी हटा सकते हैं (DISTINCT . के साथ) क्लॉज), परिणामों के लिए एक ऑर्डर निर्दिष्ट करें (ORDER BY . के साथ) क्लॉज), विभाजक बदलें, आदि।

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

SQLite

SQLite में, हम GROUP_CONCAT() . का उपयोग कर सकते हैं हमारे क्वेरी परिणामों को अल्पविराम से अलग की गई सूची में बदलने के लिए कार्य करता है:

SELECT group_concat(FirstName)
FROM Employee;

परिणाम:

Andrew,Nancy,Jane,Margaret,Steve,Michael,Robert,Laura

देखें कैसे GROUP_CONCAT() अधिक उदाहरणों के लिए SQLite में काम करता है।

एकाधिक कॉलम

उपरोक्त सभी उदाहरण सूची के लिए एकल कॉलम का उपयोग करते हैं। हम एक से अधिक कॉलम वाली सूची बनाने के लिए कई कॉलमों को भी जोड़ सकते हैं।

मान लीजिए हमारे पास निम्न डेटा वाली एक तालिका है:

SELECT TaskId, TaskName 
FROM Tasks;

परिणाम:

TaskId  TaskName    
------  ------------
1       Feed cats   
2       Water dog   
3       Feed garden 
4       Paint carpet
5       Clean roof  
6       Feed cats   

SQL सर्वर में हम दोनों कॉलम को एक ही पंक्ति में आउटपुट करने के लिए निम्न कार्य कर सकते हैं:

SELECT STRING_AGG(CONCAT(TaskId, ') ', TaskName), ' ') 
FROM Tasks

परिणाम:

1) Feed cats 2) Water dog 3) Feed garden 4) Paint carpet 5) Clean roof 6) Feed cats

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कैसे MongoDB SQL डेटाबेस से अलग है

  2. mongoimport का उपयोग करके mongodb में सरणी के रूप में csv डेटा आयात करें

  3. उल्का और फाइबर/बाइंडएनवायरनमेंट () के साथ क्या हो रहा है?

  4. MongoDB पर बिल्डिंग इंडेक्स के खतरे

  5. मोंगोडीबी - क्या डीबीआरईएफ आवश्यक है?