WITH ROLLUP के साथ योग और कुल योग प्राप्त करना
WITH ROLLUP का सिंटैक्स:
select yourColumnName1, sum(yourColumnName2) from yourTableName group by yourColumnName1 with rollup;
पहले टेबल बनाएं:
mysql> create table DemoTable1622 ( EmployeeCountryName varchar(20), EmployeeSalary int ); Query OK, 0 rows affected (0.44 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1622 values('US',4500); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1622 values('UK',1500); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1622 values('AUS',1700); Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1622 values('UK',1900); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1622 values('US',3900); Query OK, 1 row affected (0.42 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1622;
आउटपुट:
+---------------------+----------------+ | EmployeeCountryName | EmployeeSalary | +---------------------+----------------+ | US | 4500 | | UK | 1500 | | AUS | 1700 | | UK | 1900 | | US | 3900 | +---------------------+----------------+ 5 rows in set (0.00 sec)
WITH ROLLUP का सही उपयोग:
mysql> select EmployeeCountryName, sum(EmployeeSalary) from DemoTable1622 group by EmployeeCountryName with rollup;
परिणाम:
+---------------------+---------------------+ | EmployeeCountryName | sum(EmployeeSalary) | +---------------------+---------------------+ | AUS | 1700 | | UK | 3400 | | US | 8400 | | NULL | 13500 | +---------------------+---------------------+ 4 rows in set (0.02 sec)
व्याख्या: WITH ROLLUP GROUP BY के साथ अतिरिक्त पंक्ति जोड़ता है जो सभी ग्रुप का कुल योग दिखाता है। NULL वाली पंक्ति ग्रैंड टोटल दर्शाती है (1700 + 3400 + 8400 = 13500)। यह रिपोर्टिंग में उप-योग और कुल योग के लिए उपयोगी है।