जब GROUP BY लिस्ट में कॉलम नामों के साथ स्पष्ट सॉर्ट ऑर्डर (ASC या DESC) और WITH ROLLUP मॉडिफायर दोनों उपयोग किए जाते हैं, तो ROLLUP द्वारा जोड़ी गई सारांश पंक्तियां उन पंक्तियों के बाद ही दिखाई देती हैं जिनसे वे गणना की गई हैं, भले ही सॉर्ट ऑर्डर कुछ भी हो।
डिफ़ॉल्ट (कोई स्पष्ट सॉर्ट नहीं - ASC माना जाता है):
mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr with rollup;
+-----+-------+
| sr | Price |
+-----+-------+
| 1 | 502 |
| 2 | 630 |
| 3 | 1005 |
| 4 | 850 |
| 5 | 250 |
|NULL | 3237 |
+-----+-------+
स्पष्ट DESC सॉर्ट ऑर्डर के साथ:
mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr DESC with rollup;
+-----+-------+
| sr | Price |
+-----+-------+
| 5 | 250 |
| 4 | 850 |
| 3 | 1005 |
| 2 | 630 |
| 1 | 502 |
|NULL | 3237 |
अवलोकन: डेटा पंक्तियां DESC क्रम में हैं (5,4,3,2,1), लेकिन सारांश पंक्ति (NULL) अभी भी अंत में है - उन पंक्तियों के बाद जिनसे यह गणना की गई है।
कारण: WITH ROLLUP सारांश पंक्तियों को उनके संबंधित समूह के तुरंत बाद रखता है। चूंकि ग्रैंड टोटल पूरे परिणाम सेट का सारांश है, यह हमेशा अंत में आता है, GROUP BY ... DESC के बावजूद।
मल्टी-कॉलम GROUP BY में:
GROUP BY year DESC, quarter DESC WITH ROLLUP
यहां प्रत्येक वर्ष का सबटोटल उस वर्ष की तिमाहियों के बाद आएगा, और ग्रैंड टोटल अंत में।
निष्कर्ष: WITH ROLLUP का अपना आंतरिक क्रम तर्क होता है जो GROUP BY सॉर्ट ऑर्डर को ओवरराइड करता है सारांश पंक्तियों के स्थान के लिए।