यदि आप SQL Server 2008 या बाद के संस्करण पर हैं, तो आप ROLLUP()
. का उपयोग कर सकते हैं ग्रुप बाय फंक्शन:
SELECT
Type = ISNULL(Type, 'Total'),
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;
यह मानता है कि Type
कॉलम में एनयूएलएल नहीं हो सकते हैं और इसलिए इस क्वेरी में न्यूल रोलअप पंक्ति को इंगित करेगा, जो कि कुल योग वाला है। हालांकि, अगर Type
कॉलम में स्वयं के एनयूएलएल हो सकते हैं, कुल पंक्ति के लिए अधिक उचित प्रकार का लेखांकन @ Declan_K के उत्तर में होगा, यानी GROUPING()
का उपयोग करना समारोह:
SELECT
Type = CASE GROUPING(Type) WHEN 1 THEN 'Total' ELSE Type END,
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;