কম্পিউটার

MySQL একটি কমা সীমাবদ্ধ তালিকা কলামে স্বতন্ত্র সারি নির্বাচন করবেন?


আপনি GROUP_CONCAT() ফাংশনের সাহায্যে এটি অর্জন করতে পারেন। সিনট্যাক্স নিম্নরূপ -

SELECT yourColumnName1,yourColumnName2,yourColumnName3,..N,
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)

INSERT কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করুন। প্রশ্নটি নিম্নরূপ -

mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId)
   -> values('Larry',5,'Google',162);
Query OK, 1 row affected (0.14 sec)
mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId)
   -> values('Larry',5,'Google',5);
Query OK, 1 row affected (0.48 sec)
mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId)
   -> values('Larry',5,'Google',4);
Query OK, 1 row affected (0.16 sec)
mysql> insert into CommaDelimitedList(Name,GroupId,CompanyName,RefId)
   -> values('Sam',6,'Amazon',3);
Query OK, 1 row affected (0.31 sec)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> select *from CommaDelimitedList;

নিচের আউটপুট −

+----+-------+---------+-------------+-------+
| Id | Name  | GroupId | CompanyName | RefId |
+----+-------+---------+-------------+-------+
|  1 | Larry |       5 | Google      |   162 |
|  2 | Larry |       5 | Google      |     5 |
|  3 | Larry |       5 | Google      |     4 |
|  4 | Sam   |       6 | Amazon      |     3 |
+----+-------+---------+-------------+-------+
4 rows in set (0.00 sec)

এখানে একটি সীমাবদ্ধ কলাম তালিকা −

সঞ্চালনের জন্য প্রশ্ন রয়েছে
mysql> select Name,GroupId,CompanyName,
   -> group_concat(RefId) as RefList
   -> from CommaDelimitedList
   -> group by CompanyName, Name,GroupId;

নিচের আউটপুট −

+-------+---------+-------------+---------+
| Name  | GroupId | CompanyName | RefList |
+-------+---------+-------------+---------+
| Sam   |       6 | Amazon      | 3       |
| Larry |       5 | Google      | 162,5,4 |
+-------+---------+-------------+---------+
2 rows in set (0.00 sec)

  1. MySQL-এ DISTINCT বনাম GROUP BY নির্বাচন করবেন?

  2. মাইএসকিউএল ফলাফল কমা বিভক্ত তালিকা হিসাবে প্রদর্শন করবেন?

  3. কিভাবে MySQL থেকে শেষ 10 সারি নির্বাচন করবেন?

  4. MySQL দিয়ে একটি একক ক্ষেত্রে বিভিন্ন সারি থেকে একটি তালিকা ফেরত দিন