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

MySQL-এ GROUP BY এবং ORDER BY দিয়ে কলামে পুনরাবৃত্ত মানগুলোর গণনা

হ্যাঁ, আপনি ORDER BY DESC এবং GROUP BY ব্যবহার করতে পারেন। প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable 
-> ( 
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
-> PostMessage varchar(100) 
-> ); Query OK, 0 rows affected (0.69 sec)

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

mysql> insert into DemoTable(PostMessage) values('Hi'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(PostMessage) values('Hello'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(PostMessage) values('Hi'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(PostMessage) values('Awesome'); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(PostMessage) values('Hello'); Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(PostMessage) values('Hi'); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(PostMessage) values('Awesome'); Query OK, 1 row affected (0.33 sec)

টেবিলের সকল রেকর্ড দেখান:

mysql> select *from DemoTable;

আউটপুট

এটি নিচের আউটপুট দেবে:

+----+-------------+
| Id | PostMessage |
+----+-------------+
| 1  | Hi          |
| 2  | Hello       |
| 3  | Hi          |
| 4  | Awesome     |
| 5  | Hello       |
| 6  | Hi          |
| 7  | Awesome     |
+----+-------------+
7 rows in set (0.00 sec)

MySQL ডাটাবেসে কোনো মান কতবার tekrar হয়েছে তা বের করার কোয়ারী (ঘটক্রমে):

mysql> select PostMessage,count(Id) from DemoTable group by PostMessage order by count(Id) DESC;

আউটপুট

এটি নিচের আউটপুট দেবে:

+-------------+-----------+
| PostMessage | count(Id) |
+-------------+-----------+
| Hi          | 3         |
| Hello       | 2         |
| Awesome     | 2         |
+-------------+-----------+
3 rows in set (0.00 sec)

যদি শুধু সর্বোচ্চ পুনরাবৃত্তি वालা চান (২-এর চেয়ে বেশি):

mysql> select PostMessage,count(Id) from DemoTable group by PostMessage having count(Id) > 2;

আউটপুট

এটি নিচের আউটপুট দেবে:

+-------------+-----------+
| PostMessage | count(Id) |
+-------------+-----------+
| Hi          | 3         |
+-------------+-----------+
1 row in set (0.00 sec)
  1. MySQL-এ কলাম নাম উল্লেখ ছাড়া মান ইনসার্ট করা

  2. MySQL MAX() এগ্রিগেট ফাংশন ব্যবহার করে কলামের সর্বোচ্চ মান বের করা

  3. MySQL-এ কলামের সব মান থেকে শেষ ৩ ডিজিটের যোগফল বের করা

  4. MySQL-এ কলাম মান শাফল করা