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

MySQL-এ GROUP_CONCAT() ব্যবহার করে ডISTINCT রোকে কমা-বিভক্ত তালিকায় রূপান্তর করা

গ্রুপ অনুযায়ী ডISTINCT মানগুলোকে কমা-বিভক্ত একটি কলামে দেখাতে GROUP_CONCAT() ফাংশন ব্যবহার করা হয়। সিনট্যাক্স:

SELECT yourColumnName1, yourColumnName2, GROUP_CONCAT(yourColumnName4) as anyAliasName FROM yourTableName group by yourColumnName3, yourColumnName1, yourColumnName2;

উদাহরণ

টেবিল তৈরি করি:

mysql> create table CommaDelimitedList (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> Name varchar(10),
    -> GroupId int,
    -> CompanyName varchar(15),
    -> RefId int,
    -> PRIMARY KEY(Id)
    -> ); Query OK, 0 rows affected (0.68 sec)

রেকর্ড ইনসার্ট করি (Larry-র একই কোম্পানিতে একাধিক RefId):

mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId) values('Larry',5,'Google',162);
mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId) values('Larry',5,'Google',5);
mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId) values('Larry',5,'Google',4);
mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId) values('Sam',6,'Amazon',3);

GROUP_CONCAT দিয়ে কোয়েরি:

mysql> select Name,GroupId,CompanyName, group_concat(RefId) as RefList from CommaDelimitedList group by CompanyName, Name,GroupId;

ফলাফল (Larry-র RefId গুলো কমা দিয়ে একসাথে):

+-------+---------+-------------+---------+
| Name  | GroupId | CompanyName | RefList |
+-------+---------+-------------+---------+
| Sam   |       6 | Amazon      | 3       |
| Larry |       5 | Google      | 162,5,4 |
+-------+---------+-------------+---------+
  1. MySQL-এ SELECT DISTINCT vs GROUP BY: পার্থক্য ও ব্যবহার

  2. MySQL ফলাফল কমা-সেপারেটেড তালিকা হিসেবে দেখানো

  3. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  4. MySQL-এ GROUP_CONCAT ব্যবহার করে একাধিক রোকে এক ফিল্ডে জোড়া দেওয়া