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

MySQL-এ অন্য কলামে দুটি ভিন্ন ভ্যালু থাকা রেকর্ড খুঁজে বের করা

এজন্য GROUP BY HAVING ক্লজ ব্যবহার করুন।

প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable751(
    StudentName varchar(100),
    SubjectName varchar(100)
);
Query OK, 0 rows affected (0.66 sec)

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

mysql> insert into DemoTable751 values('John','MySQL');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable751 values('John','MongoDB');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable751 values('Sam','MySQL');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable751 values('Carol','Java');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable751 values('David','MySQL');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable751 values('Carol','MongoDB');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable751;

আউটপুট:

+-------------+-------------+
| StudentName | SubjectName |
+-------------+-------------+
| John        | MySQL       |
| John        | MongoDB     |
| Sam         | MySQL       |
| Carol       | Java        |
| David       | MySQL       |
| Carol       | MongoDB     |
+-------------+-------------+
6 rows in set (0.00 sec)

দুটি ভিন্ন SubjectName থাকা StudentName খুঁজে বের করার ক্যোয়ারি:

mysql> select StudentName from DemoTable751 group by StudentName having count(SubjectName) > 1;

আউটপুট (John এবং Carol দুজনই একাধিক সাবজেক্ট নিচ্ছেন):

+-------------+
| StudentName |
+-------------+
| John        |
| Carol       |
+-------------+
2 rows in set (0.00 sec)

নোট: COUNT(DISTINCT SubjectName) ব্যবহার করলে ডুপ্লিকেট সাবজেক্ট এন্ট্রি থাকলে সেটা একবারই গণনা হবে।

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

  2. MySQL-এ একক INSERT কুয়েরিতে কমা দিয়ে একাধিক সারি ইনসার্ট করা

  3. MySQL-এ ডুপ্লিকেট কলাম ভ্যালু অনুযায়ী অন্য কলামের যোগফল (SUM + GROUP BY)

  4. MySQL-এ CASE WHEN এবং GROUP_CONCAT ব্যবহার করে শর্তসাপেক্ষে কলাম মান কনক্যাটেনেট করা