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

MySQL-এ একাধিকবার আবার্তিত মান এবং তাদের কাউন্ট নির্বাচন করা

এজন্য GROUP BY HAVING ক্লজ ব্যবহার করতে হয়। প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable673(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value int
);
Query OK, 0 rows affected (0.59 sec)

কিছু রেকর্ড ইনসার্ট করি:

mysql> insert into DemoTable673(Value) values(10);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable673(Value) values(20);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable673(Value) values(10);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable673(Value) values(30);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable673(Value) values(20);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable673(Value) values(10);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable673(Value) values(10);
Query OK, 1 row affected (0.28 sec)

সব রেকর্ড দেখি:

mysql> select *from DemoTable673;

আউটপুট:

+----+-------+
| Id | Value |
+----+-------+
| 1  | 10    |
| 2  | 20    |
| 3  | 10    |
| 4  | 30    |
| 5  | 20    |
| 6  | 10    |
| 7  | 10    |
+----+-------+
7 rows in set (0.00 sec)

একাধিকবার আবার্তিত মান এবং তাদের কাউন্ট দেখানোর ক্যোয়ারি:

mysql> select Id, count(*) as myValue from DemoTable673 group by Value having count(*) > 1;

আউটপুট:

+----+---------+
| Id | myValue |
+----+---------+
| 1  | 4       |
| 2  | 2       |
+----+---------+
2 rows in set (0.00 sec)

ব্যাখ্যা: Value 10 চারবার এবং 20 দুবার এসেছে। Id কলামে গ্রুপের প্রথম Id দেখানো হয়েছে।

  1. MySQL কোয়েরি: ডISTINCT ভ্যালুর আওতা গণনা করে নতুন কলামে প্রদর্শন করা

  2. MySQL-এ শর্তভিত্তিক গণনা (Conditional Count) করে আলাদা কলামে দেখানো

  3. MySQL-এ তারিখ অনুযায়ী গ্রুপ করে ডুপ্লিকেট মান গণনা করা

  4. MySQL에서 중복 튜플 찾기와 개수 세기 (GROUP BY HAVING)