এজন্য 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) ব্যবহার করলে ডুপ্লিকেট সাবজেক্ট এন্ট্রি থাকলে সেটা একবারই গণনা হবে।