SELECT CASE WHEN GROUPING(F1) = 1 THEN ‘总计‘
             WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN  F1+‘合计‘
             WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 0 AND GROUPING(F3) = 1 THEN  F1+‘的‘+F2+‘小计‘
             ELSE F1
        END AS F1 ,
        CASE WHEN GROUPING(F3) = 1 THEN ‘‘ ELSE F2
        END AS F2 ,
        ISNULL(F3, ‘‘) AS F3 ,
        SUM(F4) AS F4,
		SUM(F5) AS F5
FROM  TB
GROUP BY F1,F2,F3 WITH ROLLUP;
原文:http://www.cnblogs.com/Logan626/p/6728603.html