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

নির্দিষ্ট রেকর্ডের ভিত্তিতে গ্রুপিং ও যোগফল বের করার MySQL কোয়েরি

রেকর্ড গ্রুপ করতে GROUP BY, যোগ করতে SUM() ফাংশন ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable (    Name varchar(40),    Subject varchar(40),    Marks int ); Query OK, 0 rows affected (2.89 sec)

ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করুন:

mysql> insert into DemoTable values('Chris','MySQL',76); Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable values('Sam','MongoDB',86); Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable values('Mike','MySQL',98); Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable values('David','Java',93); Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable values('Bob','MySQL',57); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('John','MongoDB',77); Query OK, 1 row affected (0.17 sec)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সব রেকর্ড দেখান:

mysql> select *from DemoTable;

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

+-------+---------+-------+ | Name  | Subject | Marks | +-------+---------+-------+ | Chris | MySQL   | 76 | | Sam   | MongoDB | 86 | | Mike  | MySQL | 98 | | David | Java | 93 | | Bob   | MySQL | 57 | | John  | MongoDB | 77 | +-------+---------+-------+ 6 rows in set (0.00 sec)

SUBJECTের ভিত্তিতে গ্রুপ করে মানগুলোর যোগফল বের করার কোয়েরি নিচে দেওয়া হলো:

mysql> select Subject,SUM(Marks) from DemoTable group by Subject;

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

+---------+------------+ | Subject | SUM(Marks) | +---------+------------+ | MySQL | 231 | | MongoDB | 163 | | Java | 93 | +---------+------------+ 3 rows in set (0.00 sec)
  1. MySQL-এ নির্দিষ্ট মাস এবং বছরের ভিত্তিতে রেকর্ড ফিল্টার করা

  2. MySQL-এ টেবিলে নেই এমন মানগুলো কোয়েরি করে বের করা (UNION ALL + NOT EXISTS)

  3. MySQL-এ নির্দিষ্ট মান ثابت রেখে বাকি সারি র‍্যান্ডমভাবে সর্ট করা

  4. MySQL-এ প্রথম ৩ রোয়ের কলাম মান নির্দিষ্ট মান দিয়ে আপডেট করা