MySQL-এ COUNT() এবং GROUP BY ব্যবহার করে নির্দিষ্ট কলামের প্রতিটি অনন্য মানের জন্য রো সংখ্যা বের করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable841(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Value varchar(100)
);
Query OK, 0 rows affected (0.67 sec)
mysql> insert into DemoTable841(Value) values('X');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable841(Value) values('Y');
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable841(Value) values('Y');
Query OK, 1 row affected (1.62 sec)
mysql> insert into DemoTable841(Value) values('Z');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable841(Value) values('X');
Query OK, 1 row affected (0.81 sec)
mysql> insert into DemoTable841(Value) values('Z');
Query OK, 1 row affected (0.26 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable841;
+----+-------+ | Id | Value | +----+-------+ | 1 | X | | 2 | Y | | 3 | Y | | 4 | Z | | 5 | X | | 6 | Z | +----+-------+ 6 rows in set (0.00 sec)
প্রতিটি Value-এর জন্য রো গণনা
mysql> select Value, Concat(COUNT(Value),' Times') from DemoTable841 group by Value;
+-------+-------------------------------+ | Value | Concat(COUNT(Value),' Times') | +-------+-------------------------------+ | X | 2 Times | | Y | 2 Times | | Z | 2 Times | +-------+-------------------------------+ 3 rows in set (0.04 sec)
ব্যাখ্যা
GROUP BY Value- একই Value वाले রোগুলো গোষ্ঠীভুক্ত করেCOUNT(Value)- প্রতিটি গোষ্ঠীর রো সংখ্যা গণনা করেCONCAT()- সংখ্যা এবং 'Times' টেক্সট जोড়ায়
বিকল্প আউটপুট ফরম্যাট
mysql> select Value, COUNT(*) as Count from DemoTable841 group by Value;
+-------+-------+ | Value | Count | +-------+-------+ | X | 2 | | Y | 2 | | Z | 2 | +-------+-------+
নোট: COUNT(*) সব রো গণনা করে (NULL সহ), COUNT(Value) শুধু NULL নয় মানগুলো গণনা করে।