आप एक WITH ROLLUP
जोड़ सकते हैं आपके GROUP BY
. का खंड इस तरह की स्थिति:
SELECT
CASE WHEN CONDITION=1 THEN 'OK' ELSE 'BAD' END AS Status,
SUM (CASE WHEN SIZE=10 THEN 1 ELSE 0 END) AS Small,
SUM (CASE WHEN SIZE=20 THEN 1 ELSE 0 END) AS Medium,
SUM (CASE WHEN SIZE=30 THEN 1 ELSE 0 END) AS Large,
FROM mytable
GROUP BY Status WITH ROLLUP
यह एक परिणाम सेट प्राप्त करेगा जैसे:
Status Small Medium Large
OK 1 2 1
BAD 2 1 0
[NULL] 3 3 1
आपको इस व्यवहार को समझना होगा कि कोई Total
नहीं होगा स्थिति कॉलम में मान। इसके बजाय स्थिति कॉलम में एक NULL मान होगा जो दर्शाता है कि यह वह जगह है जहाँ रोलअप किया गया है।
अधिक जानकारी के लिए आप दस्तावेज़ यहाँ पढ़ सकते हैं:http ://dev.mysql.com/doc/refman/5.6/hi/group-by-modifiers.html