GROUP_CONCAT in MySQL
|Group_concat in sql, how to merge string in mysql, string aggregation, How to order Group concat in SQL?
जब भी हम एक से अधिक Rows की String Value को जोड़ना हो तब हम Group_Concat का उपयोग करते हैं । एक तरह से हम इसे Aggregate Function भी कह सकते हैं क्युकी यह Rows को Group करने ka कार्य तो करता ही हैं केवल यह Calculation (Count, Sum, Avg, Min, Max) के स्थान पर Concat ही करता हैं ।
Table of Contents
आप निम्न Image से समझ सकते हैं की Group Concat किस प्रकार से कार्य करता हैं ।
Example Data for Group Concat
Example के लिए हमने एक Table जिसका नाम citemmst हैं उसमे Customer Name (cust_nm) और Item Name (item_nm) Columns हैं, अब हम Group Concat का उपयोग कर सीखेंगे कई किस तरह से हम एक Customer से Related data को Merge कर एक ही Column मे ला सकते हैं ।
1. GROUP_CONCAT Without any Options (Simple)
यह पर हमने केवल GROUP CONCAT का उपयोग किया हैं, इसका उपयोग Group By के साथ किया जाता हैं। हमे एक Customer के Data को Merge करना हैं इसलिए हमने GROUP BY cust_nm पर किया हैं ।
SELECT cust_nm, GROUP_CONCAT(item_nm)
FROM citemmst
GROUP BY cust_nm
अब केवल 3 Customers के केवल 3 ही Records आ रहे हैं जबकि पहले 10 Records थे । Item वाला Column Merge हो कर एक ही Row मे उसकी वैल्यू जुड़ गई हैं।
Related Video : Group_Concat in MySQL
2. GROUP_CONCAT With DISTINCT
जब भी हमे Duplicate Remove करना हो तब हम GROUP CONCAT के साथ DISTINCT का उपयोग करते हैं। ऐसा करने से जो भी Duplicate Data होता हैं वह Remove हो जाता हैं ।
SELECT cust_nm, GROUP_CONCAT(DISTINCT item_nm )
from citemmst
group by cust_nm
उपरोक्त Example मे आपने देखा होगा जो पहले Duplicate records थे अब वह Merge नहीं हुवे हैं ।
3. GROUP_CONCAT With ORDER BY
यदि आप merge किए data कई Sequence भी बदलना चाहते हैं तब आपको GROUP CONCAT मे ORDER BY का उपयोग करना होगा।
- हमने यह पर Customer Name को भी Order किया हैं इसलिए last मे एक बार Order by का उपयोग किया है ।
- आप यह पर DESC का उपयोग कर Order को Descending भी कर सकते हैं ।
SELECT cust_nm, GROUP_CONCAT(item_nm ORDER BY item_nm)
FROM citemmst
GROUP BY cust_nm
ORDER BY cust_nm
उपरोक्त Example मे आप देख रहे होंगे कई अब जो Merge Data हैं वह Alphabetic Order मे sort हो गया हैं।
4. GROUP_CONCAT With SEPARATOR
by Default आप जब भी GROUP CONCAT का उपयोग करते हैं तब यह Comma (,) का उपयोग कर Data को concat करता हैं। यदि आप Comma के स्थान पर कुछ और भी लगाना चाहते हैं तो आपको SEPARATOR का उपयोग करना होगा।
SELECT cust_nm, GROUP_CONCAT( item_nm SEPARATOR ' -- ')
from citemmst
group by cust_nm
उपरोक्त Example मे Separator का उयोग कर हमने Comma के स्थान पर — लिया हैं।
आशा हैं मुझे की आपको MySQL Group Concat बहुत अच्छे से समझ मे आ गया होगा, यदि फिर भी आपके कोई Doubts हैं तो आप मुझे Comment कर सकते हैं ।
यह article कैसा लगा बताना न भूले , अपना कीमती समय देने के लिए धन्यवाद ।
हमारे अन्य आर्टिकल
- MySQL Function
- MySQL Stored Procedure
- PHP Get /Post Method के बारे में जाने
- PHP Math Function के बारे में जाने
- C से C ++ सीखे सरल शब्दों में
- PHP Variable के बारे में जाने
- Arduino Control Structure
- Union in C
- Declaration of Pointer in C
- jQuery Search Filter
- MySQL Create Table | Alter Table | Drop Table
- API Using NODE REACT EXPRESS MYSQL SEQUELIZE (For Backend OR Server Side)
- CPANEL In Hindi