এই কাজের জন্য GROUP_CONCAT(), COUNT() GROUP BY ক্লজের সাথে ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করা যাক:
mysql> create table DemoTable ( CompanyId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CompanyName varchar(20) ); Query OK, 0 rows affected (0.62 sec)
ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করুন:
mysql> insert into DemoTable(CompanyName) values('Amazon'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(CompanyName) values('Google'); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(CompanyName) values('Google'); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable(CompanyName) values('Microsoft'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(CompanyName) values('Amazon'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(CompanyName) values('Amazon'); Query OK, 1 row affected (0.07 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সকল রেকর্ড প্রদর্শন করুন:
mysql> select *from DemoTable;
এটি নিম্নলিখিত আউটপুট দেবে:
+-----------+-------------+ | CompanyId | CompanyName | +-----------+-------------+ | 1 |Amazon | | 2 |Google | | 3 |Google | | 4 |Microsoft | | 5 |Amazon | | 6 |Amazon | +-----------+-------------+ 6 rows in set (0.00 sec)
MySQL-এ আলাদা রেকর্ড থেকে গণনা একই সারিতে প্রদর্শনের কোয়ারী:
mysql> select CompanyName,group_concat(CompanyId),count(CompanyId) as count from DemoTable group by CompanyName having count > 1;
এটি নিম্নলিখিত আউটপুট দেবে:
+-------------+-------------------------+-------+ | CompanyName | group_concat(CompanyId) | count | +-------------+-------------------------+-------+ | Amazon | 1,5,6 | 3 | | Google | 2,3 | 2 | +-------------+-------------------------+-------+ 2 rows in set (0.00 sec)