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

MySQL-এ COUNT(*) একাধিক রো না রিটার্ন করে একক রো রিটার্ন করান

COUNT(*) একক রো রিটার্ন করাতে GROUP BY ব্যবহার করুন যাতে একই মানগুলো গ্রুপ হয় এবং মাল্টিপল রো এলিমিনেট হয়।

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

mysql> create table DemoTable (Value int); Query OK, 0 rows affected (0.55 sec)

রেকর্ড ইনসার্ট করা

mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(30); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values(60); Query OK, 1 row affected (0.25 sec)

রেকর্ড প্রদর্শন

mysql> select * from DemoTable;

আউটপুট:

+-------+ | Value | +-------+ | 10 | | 20 | | 10 | | 30 | | 10 | | 20 | | 40 | | 10 | | 20 | | 20 | | 60 | +-------+ 11 rows in set (0.00 sec)

ইউনিক ভ্যালুর কাউন্ট (১০, ২০, ৩০, ৪০, ৬০)

mysql> SELECT COUNT(*) FROM (SELECT * FROM DemoTable GROUP BY Value) AS tbl;

আউটপুট:

+----------+ | COUNT(*) | +----------+ | 5 | +----------+ 1 row in set (0.00 sec)

ব্যাখ্যা: ইনার কোয়েরি GROUP BY Value দিয়ে ইউনিক ভ্যালুগুলো (১০, ২০, ৩০, ৪০, ৬০) বের করে, বাহিরের COUNT(*) সেগুলো গণনা করে ৫ রিটার্ন করে। সরাসরি COUNT(DISTINCT Value)ও একই ফলাফল দেবে।

  1. MySQL-এ GROUP_CONCAT() ব্যবহার করে একাধিক রোকে একক স্ট্রিংয়ে জড়ানো (সিংগেল রো আউটপুট)

  2. MySQL-এ COUNT() এর ভিতরে CASE শর্ত ব্যবহার করে গণনা করা

  3. MySQL-এ LIKE অপারেটর দিয়ে একাধিক সারি বের করা

  4. MySQL-এ একক কোয়ারি দিয়ে একটি কলামে একাধিক মান কিভাবে ইনসার্ট করবেন?