WITH ROLLUP GROUP BY क्लॉज के साथ उपयोग होने वाला एक मॉडिफायर है जो सारांश पंक्तियां (सुपर-एग्रीगेट) जोड़ता है - उच्च-स्तरीय योग संचालन दर्शाने वाली अतिरिक्त पंक्तियां।
उदाहरण - ratelist टेबल:
mysql> Select Item, SUM(Price) AS Price from ratelist Group by item WITH ROLLUP;
+------+-------+
| Item | Price |
+------+-------+
| A | 502 |
| B | 630 |
| C | 1005 |
| h | 850 |
| T | 250 |
| NULL | 3237 |
+------+-------+
6 rows in set (0.00 sec)
व्याख्या:
- पहली 5 पंक्तियां: प्रत्येक
Itemके लिएSUM(Price) - अंतिम पंक्ति (
NULL): सभी आइटम का कुल योग (ग्रैंड टोटल) NULLग्रुपिंग कॉलम में "सभी समूह" का प्रतिनिधित्व करता है
मल्टी-कॉलम GROUP BY के साथ:
SELECT year, quarter, SUM(sales)
FROM sales_data
GROUP BY year, quarter WITH ROLLUP;
यह प्रत्येक तिमाही का योग, प्रत्येक वर्ष का योग, और ग्रैंड टोटल - सभी एक क्वेरी में देता है।
NULL लेबल कस्टमाइज़ करना:
SELECT IFNULL(Item, 'TOTAL') as Item, SUM(Price)
FROM ratelist GROUP BY Item WITH ROLLUP;
प्रतिबंध:
ORDER BYके साथ उपयोग नहीं कर सकते (परस्पर अनन्य)LIMITके साथ व्यवहार अप्रत्याशित हो सकता है- केवल
GROUP BYके साथ काम करता है