MySQL-এ একই গ্রুপের একাধিক রোকে এক রোতে ضم করে কলাম মানগুলো কমা-সেপারেটেড স্ট্রিং আকারে দেখাতে GROUP_CONCAT() ব্যবহার করুন।
উদাহরণ
mysql> CREATE TABLE DemoTable734 (Id INT, Name VARCHAR(100)); Query OK, 0 rows affected (0.73 sec) mysql> INSERT INTO DemoTable734 VALUES (101, 'John'), (102, 'John'), (103, 'Chris'), (104, 'Chris'), (104, 'Chris'); Query OK, 5 rows affected
সব রেকর্ড
mysql> SELECT * FROM DemoTable734;
+------+-------+ | Id | Name | +------+-------+ | 101 | John | | 102 | John | | 103 | Chris | | 104 | Chris | | 104 | Chris | +------+-------+
নেম অনুযায়ী গ্রুপ করে আইডি কমা-সেপারেটেড
mysql> SELECT Name, GROUP_CONCAT(DISTINCT Id SEPARATOR ',') FROM DemoTable734 GROUP BY Name;
+-------+-----------------------------------------+ | Name | group_concat(DISTINCT Id SEPARATOR ',') | +-------+-----------------------------------------+ | Chris | 103,104 | | John | 101,102 | +-------+-----------------------------------------+
GROUP_CONCAT অপশনস
DISTINCT→ ডুপ্লিকেট আইডি সরিয়ে দেয়SEPARATOR ','→ ডিফল্ট কমা, পরিবর্তন করা যায়ORDER BY Id→ গ্রুপের ভেতরে সর্ট:GROUP_CONCAT(DISTINCT Id ORDER BY Id SEPARATOR ',')group_concat_max_lenসিস্টেম ভেরিয়েবল (ডিফল্ট 1024) — বড় স্ট্রিং কাটা যেতে পারে
ব্যবহার
- রিপোর্টিং, CSV এক্সপোর্ট, ট্যাগ লিস্ট, ক্যাটাগরি এগ리게শন
- পিভট টেবিল সিমুলেশন