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

MySQL-এ একই ভ্যালু থাকলে নির্দিষ্ট রো ফেচ করা

একই ভ্যালু থাকলে নির্দিষ্ট রো ফেচ করতে GROUP BY ব্যবহার করতে হয়। প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable659(Id int, Name varchar(100), Score int);
Query OK, 0 rows affected (0.52 sec)

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

mysql> insert into DemoTable659 values(11,'John',45);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable659 values(15,'John',59);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable659 values(15,'Sam',61);
Query OK, 1 row affected (0.14 sec)

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

mysql> select *from DemoTable659;

আউটপুট:

+------+------+-------+
| Id   | Name | Score |
+------+------+-------+
| 11   | John |    45 |
| 15   | John |    59 |
| 15   | Sam  |    61 |
+------+------+-------+
3 rows in set (0.00 sec)

একই ভ্যালু থাকলে নির্দিষ্ট রো ফেচ করার ক্যোয়ারি (সাবকোয়েরিতে ORDER BY DESC ব্যবহার করা হয়েছে):

mysql> select *from (select *from DemoTable659 order by Id desc) tbl group by Name;

আউটপুট:

+------+------+-------+
| Id   | Name | Score |
+------+------+-------+
| 11   | John |    45 |
| 15   | Sam  |    61 |
+------+------+-------+
2 rows in set (0.04 sec)

নোট: এই পদ্ধতিতে MySQL-এ ONLY_FULL_GROUP_BY SQL মোড সক্রিয় থাকলে এরর দিতে পারে। আধুনিক MySQL-এ ROW_NUMBER() উইন্ডো ফাংশন ব্যবহার করা ভালো।

  1. MySQL-এ আলাদা রেকর্ড থেকে গণনা একই সারিতে প্রদর্শন করা

  2. MySQL-এ ফলাফল সেটকে নির্দিষ্ট ক্রমে সাজানো

  3. MySQL에서 현재 날짜에 등록된 사용자 수 세기 (COUNT + GROUP BY MONTH)

  4. MySQL-এ নির্দিষ্ট তারিখের রেকর্ড গণনা করা (COUNT + DATE)