इसके लिए GROUP BY क्लॉज़ का उपयोग करें।
टेबल बनाएं
mysql> create table DemoTable (
-> StudentId int,
-> StudentMarks int
-> );
Query OK, 0 rows affected (4.71 sec)
रिकॉर्ड्स डालें
mysql> insert into DemoTable values(23,58); Query OK, 1 row affected (0.70 sec) mysql> insert into DemoTable values(25,89); Query OK, 1 row affected (0.46 sec) mysql> insert into DemoTable values(26,58); Query OK, 1 row affected (1.13 sec) mysql> insert into DemoTable values(28,98); Query OK, 1 row affected (0.86 sec)
सभी रिकॉर्ड्स देखें
mysql> select * from DemoTable;
+-----------+--------------+ | StudentId | StudentMarks | +-----------+--------------+ | 23 | 58 | | 25 | 89 | | 26 | 58 | | 28 | 98 | +-----------+--------------+ 4 rows in set (0.00 sec)
समान कॉलम मान वाली पंक्तियां लौटाने का क्वेरी
mysql> select StudentMarks from DemoTable
-> group by StudentMarks
-> having sum(StudentId=23) > 0 and
-> sum(StudentId=26) > 0;
आउटपुट:
+--------------+ | StudentMarks | +--------------+ | 58 | +--------------+ 1 row in set (0.00 sec)
व्याख्या: SUM(StudentId=23) बूलियन अभिव्यक्ति का योग करता है (TRUE=1, FALSE=0)। HAVING क्लॉज़ उन समूहों को फ़िल्टर करता है जहां दोनों StudentId 23 और 26 मौजूद हैं।