কম্পিউটার টিউটোরিয়াল

MySQL-এ GROUP_CONCAT() ও CONCAT() একসাথে ব্যবহার করে স্ট্রিং ক্যাটেনেট করা

CONCAT() একাধিক স্ট্রিং যোড় করে এক স্ট্রিং বানায়, আর GROUP_CONCAT() একই গ্রুপের একাধিক রোর স্ট্রিং যোড় করে এক স্ট্রিং বানায়। দুটো একসাথে ব্যবহার করে গ্রুপ অনুযায়ী ফরম্যাটেড আউটপুট পাওয়া যায়।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable799 (UserId INT, UserName VARCHAR(100), UserAge INT);
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable799 VALUES (101, 'John', 21);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable799 VALUES (102, 'Chris', 26);
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable799 VALUES (101, 'Robert', 23);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable799 VALUES (103, 'David', 24);
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable799 VALUES (101, 'Mike', 29);
Query OK, 1 row affected (0.18 sec)

রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable799;

আউটপুট:

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 101    | John     | 21      |
| 102    | Chris    | 26      |
| 101    | Robert   | 23      |
| 103    | David    | 24      |
| 101    | Mike     | 29      |
+--------+----------+---------+
5 rows in set (0.00 sec)

UserId অনুযায়ী গ্রুপ করে 'MR.' প্রিফিক্স যোগ করে ক্যাটেনেট

mysql> SELECT UserId, GROUP_CONCAT(CONCAT('MR.', UserName)) 
FROM DemoTable799 
GROUP BY UserId;

ফলাফল:

+--------+---------------------------------------+
| UserId | GROUP_CONCAT(CONCAT('MR.', UserName)) |
+--------+---------------------------------------+
| 101    | MR.John,MR.Robert,MR.Mike             |
| 102    | MR.Chris                              |
| 103    | MR.David                              |
+--------+---------------------------------------+
3 rows in set (0.00 sec)

ব্যাখ্যা

  • CONCAT('MR.', UserName) - প্রতিটি রোর UserName-র সাথে 'MR.' প্রিফিক্স যোগ করে।
  • GROUP_CONCAT(...) - একই UserId-এর সব রোর ফলাফল কমা দিয়ে যোড় করে।
  • GROUP BY UserId - UserId অনুযায়ী গ্রুপ করে।

অন্যান্য GROUP_CONCAT অপশন

GROUP_CONCAT(CONCAT('MR.', UserName) ORDER BY UserName SEPARATOR '; ')
  1. MySQL-এ MAX(DISTINCT ...) বনাম MAX(): পার্থক্য কী?

  2. MySQL কোয়েরি: AND OR ব্যবহার করে নির্বাচন করা

  3. MySQL에서 GROUP_CONCAT과 CONCAT, DISTINCT로 컬럼 값 따옴표로 감싸기

  4. টেনসরফ্লো এবং পাইথনে একই দৈর্ঘ্যের একাধিক স্ট্রিং এনকোড করার পদ্ধতি