Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में एग्रीगेट फंक्शन और अन्य सभी कॉलम चुनना

सबक्वेरी के साथ प्रत्येक पंक्ति पर एग्रीगेट मान दिखाना

पहले टेबल बनाएं:

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 के बिना प्रत्येक पंक्ति पर एग्रीगेट मान दिखाने का एक तरीका है।

  1. - MySQL में कोई भी पंक्ति और कॉलम SELECT न करने का तरीका?

    SELECT NULL और WHERE FALSE का उपयोग करके खाली परिणाम प्राप्त करना किसी भी पंक्ति और कॉलम को प्रदर्शित न करने के लिए SELECT NULL और WHERE FALSE का उपयोग करें: SELECT NULL FROM yourTableName WHERE FALSE; आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable1367 ( Id INT NOT NULL AUTO_INCREMENT PRI

  1. - MySQL में ग्रुपिंग के साथ सेलेक्ट और सम?

    सम करने के लिए एग्रीगेट फंक्शन SUM() का उपयोग करें। इसके साथ MySQL GROUP BY का उपयोग करके ग्रुप करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> ProductName varchar(20), -> ProductQuantity int, -> ProductPrice int -> ); Query OK, 0 rows affected (0.63 sec) इ

  1. - MySQL में INSERT ON DUPLICATE KEY UPDATE से एंट्री मौजूद होने पर अन्य कॉलम ओवरराइट करें

    INSERT ... ON DUPLICATE KEY UPDATE का उपयोग करके: यदि यूनिक/प्राइमरी की टकराव होता है तो नई पंक्ति डालने के बजाय मौजूदा पंक्ति अपडेट करें (अपसर्ट/upsert)। टेबल बनाएं (यूनिक की पर FirstName) mysql> CREATE TABLE DemoTable1891 ( FirstName VARCHAR(20), UNIQUE KEY(FirstName) ); डालें/अपडेट क