सबक्वेरी के साथ प्रत्येक पंक्ति पर एग्रीगेट मान दिखाना
पहले टेबल बनाएं:
mysql> create table DemoTable1621 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentMarks int ); Query OK, 0 rows affected (1.69 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1621(StudentName,StudentMarks) values('Chris',45); Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable1621(StudentName,StudentMarks) values('Bob',78); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1621(StudentName,StudentMarks) values('David',89); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1621(StudentName,StudentMarks) values('Adam',87); Query OK, 1 row affected (0.20 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1621;
आउटपुट:
+-----------+-------------+--------------+ | StudentId | StudentName | StudentMarks | +-----------+-------------+--------------+ | 1 | Chris | 45 | | 2 | Bob | 78 | | 3 | David | 89 | | 4 | Adam | 87 | +-----------+-------------+--------------+ 4 rows in set (0.00 sec)
एग्रीगेट फंक्शन के साथ सभी कॉलम चुनने की क्वेरी:
mysql> select tblData.*, (select max(StudentMarks) from DemoTable1621) as MaximumMarks from DemoTable1621 tblData;
परिणाम:
+-----------+-------------+--------------+--------------+ | StudentId | StudentName | StudentMarks | MaximumMarks | +-----------+-------------+--------------+--------------+ | 1 | Chris | 45 | 89 | | 2 | Bob | 78 | 89 | | 3 | David | 89 | 89 | | 4 | Adam | 87 | 89 | +-----------+-------------+--------------+--------------+ 4 rows in set (0.00 sec)
व्याख्या: सबक्वेरी (SELECT MAX(StudentMarks) FROM DemoTable1621) एकल मान (89) लौटाती है जो प्रत्येक पंक्ति के साथ MaximumMarks कॉलम के रूप में जुड़ जाता है। यह GROUP BY के बिना प्रत्येक पंक्ति पर एग्रीगेट मान दिखाने का एक तरीका है।